目前我的Twitch聊天機器人有問題,當機器人拿起JTV發送一個標誌給通道中的某個人時發生這個錯誤(給他們mod權限)。Python AttributeError:'str'對象沒有屬性'append'(具體)
我遇到的問題是這個錯誤有時會發生,有時不會。由於這個原因,我不能在我的VPS上運行穩定的進程。任何幫助?
message = ' '.join(line)
x = re.findall('^:jtv MODE (.*?) \+o (.*)$', message) # Find the message
if (len(x) > 0):
channel = x[0][0]
if (channel not in mods): # If the channel isn't already in the list
mods[channel] = []
list = mods.get(channel)
list.append(x[0][1])
print(mods) # Print updated list with new mods
這裏是我去掉它們的地方,不確定這是否會導致錯誤。但我會後它仍然...
# Removing mods
y = re.findall('^:jtv MODE (.*?) \-o (.*)$', message)
if (len(y) > 0):
channel = y[0][0]
if (channel in mods):
mods.get(channel).remove(y[0][1])
print(mods)
,則不應使用'list'作爲變量名。這是內置類型名稱之一。 –
1.'list'不是一個好名字,因爲它掩蓋了內建函數'list()'。 2.在某個點或其他地方,該「list」不是「list」,而是「str」。因爲它來自'mods.get(channel)',那麼其結果有時是'str',可能是因爲'channel'在'mods'中,而'mods [channel]'沒有被賦予一個空的' list'。 3.管道膠帶的修復是將append()放入一個'try..except'中,看看是否改善了這種情況。 – TigerhawkT3
@PaulRooney你推薦我用什麼?該計劃從多個渠道中獲取聊天,我希望從他們每個人那裏獲得一個mod的列表。 – Lynn