松弛机器人检查消息反应

时间:2020-07-03 15:17:23

标签: python slack slack-api

我目前正在开发一个松弛机器人。 一旦完成所请求的任务,此请求用户将对消息添加响应。 但是,我不知道如何执行此任务,并且我的api研究还没有成功。 我确实找到了reacts.get和Reactions.list,但这似乎不是正确的解决方案。

这是我的代码:

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."
            }
        }
    ]
}]


today = date.today()

def last_monday_of_month(any_day):
    next_month = any_day.replace(day=28) + datetime.timedelta(days=4)  # this will never fail
    last_day = next_month - datetime.timedelta(days=next_month.day)
    return last_day + relativedelta(weekday=MO(-2))

last_monday_of_month(date.today())

if today == last_monday_of_month(date.today()):
    client.chat_postMessage(channel='starterbot', text="", attachments=attachments)
    print("Success.")
else:
    print("Error.")

如果有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

您将要使用reactions.get方法。您只需提供要获得响应的消息的for (let val of var1) { smallarr = await Item.find({ val:val.x }) array.push(smallarr); }

您的代码似乎只是在发布一条消息。如果您想在用户对消息做出反应时执行某些操作,则需要预订message事件。这将意味着拥有正在运行的服务(使用Events API将其发布给您,或者使用RTM API进行订阅)