我目前正在开发一个松弛机器人。 一旦完成所请求的任务,此请求用户将对消息添加响应。 但是,我不知道如何执行此任务,并且我的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.")
如果有人可以帮助我。
答案 0 :(得分:0)
您将要使用reactions.get方法。您只需提供要获得响应的消息的for (let val of var1) {
smallarr = await Item.find({ val:val.x })
array.push(smallarr);
}
。
您的代码似乎只是在发布一条消息。如果您想在用户对消息做出反应时执行某些操作,则需要预订message事件。这将意味着拥有正在运行的服务(使用Events API将其发布给您,或者使用RTM API进行订阅)