我写了下面的内容,以便在一个松弛的通道中迭代消息。
如果你只想遍历 "text "和 "ts "呢?我自己写了以下内容,但得到一个错误信息
类型错误:列表索引必须是整数或片段,而不是str。
import os
from slack import WebClient
from slack.errors import SlackApiError
import datetime
client = WebClient(token=os.environ["SLACK_API_TOKEN"])
channel_to_listen = os.environ['CHANNEL_TO_LISTEN']
def main():
response = client.conversations_history(channel=channel_to_listen, limit= 10)
messages = response['messages']
for message in messages:
timestamp = messages['ts']
content = messages['text']
print(timestamp + " " + content)
if __name__ == '__main__':
main()
我得到这个错误。
TypeError: list indices must be integer or slices, not str.
如果我在消息中加入索引。
messages = response['messages'][0]
那么它将会打印10次或更多的次数,因为我在limit属性里有相同的时间戳和相同的文本,这是有意义的。
我认为你应该在你的循环中用消息代替消息。