获取一个json对象|松弛机器人

时间:2020-07-06 09:05:53

标签: python slack slack-api

我实际上在做一个松弛机器人。 但是在这里,我需要您的帮助。我需要获取一个json对象。

import os 
from slack import WebClient
from slack.errors import SlackApiError
import time
import datetime
from datetime import date
from dateutil.relativedelta import relativedelta, MO


client = WebClient(token=os.environ['SLACK_KEY'])


attachments = [{
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "Hello ! Il est temps de remplir le formulaire d'absences.\n\n*Merci de suivre les instructions ci-dessous.*"
            }
        },
        {
            "type": "divider"
        },
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": ":round_pushpin: *<www.youtube.com|Clique ici pour te rendre sur la fiche d'absences.>* \nSurtout n'oublie pas de réagir avec :heavy_check_mark: afin d'indiquer que c'est bien fait."
            }
        }
    ]
}]


channel='C016D8D4XEG'

response = client.chat_postMessage(channel='starterbot', text="", attachments=attachments)

timestamp = response['ts']

add_reacts = client.reactions_add(channel="C01665VJ2JH",  name="heavy_check_mark", timestamp=timestamp)

jsonObject = client.conversations_list(channel="C01665VJ2JH", timestamp=timestamp)
reactions = jsonObject["reactions"][-1]["name"]


print(reactions)

如您所见,我做到了:

jsonObject = client.conversations_list(channel="C01665VJ2JH", timestamp=timestamp)
reactions = jsonObject["reactions"][-1]["name"]

该代码应该在“反应”中获得“名称”,但仍然无法正常工作。

This is my json file

请大家给我一个答案。

1 个答案:

答案 0 :(得分:0)

您的代码存在问题

jsonObject = client.conversations_list(channel="C01665VJ2JH", timestamp=timestamp)

conversations.list方法不使用channel或timestamp参数。如果要获取添加到消息中的反应的历史记录,可以执行以下操作之一:

  • 使用conversations.history方法检索该特定频道中的消息,然后将它们与时间戳进行交叉引用。
  • 使用事件API监听添加的新反应

使用这两种方法,您都应该能够捕获消息块并解析反应。