我想在python中迭代一个松弛通道的消息和时间戳。

问题描述 投票:0回答:1

我写了下面的内容,以便在一个松弛的通道中迭代消息。

如果你只想遍历 "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属性里有相同的时间戳和相同的文本,这是有意义的。

python webclient slack-api
1个回答
0
投票

我认为你应该在你的循环中用消息代替消息。

© www.soinside.com 2019 - 2024. All rights reserved.