我想创建一个Slack机器人来回答一些简单的问题或在服务器上执行某些任务。这是我试过的
token = "i-put-my-bot-token-here" # found at https://api.slack.com/#auth)
sc = SlackClient(token)
sc.api_call("chat.postMessage", channel="magic", text="Hello World!")
它是作为Slackbot发布的,而不是我创建的机器人帐户?
另外如果我要听消息,根据python库说它
if sc.rtm_connect():
while True:
print sc.rtm_read()
time.sleep(1)
else:
print "Connection Failed, invalid token?"
或者我应该使用传入的webhook吗?
答案 0 :(得分:4)
正如您所看到的,here此调用接受一个参数'as_user',它可以是真的。如果将其设置为true,则邮件将作为您创建的bot发布。
答案 1 :(得分:4)
我现在正在创建一个机器人。我发现,如果您指定as_user='true'
,它会像您一样发布,即authed用户。如果您希望它是您的机器人,请传递我们的机器人的名称和其他选项,如表情符号,如下:
sc.api_call(
'chat.postMessage',
username='new_slack_bot',
icon_emoji=':ghost:',
as_user='false',
channel='magic',
text='Hello World!'
)
查看emoji cheat sheet了解更多信息。
然后,如果您想收听事件,例如问题或命令,请尝试拦截发送的邮件。this post上的示例:
while True:
new_evts = sc.rtm_read()
for evt in new_evts:
print(evt)
if "type" in evt:
if evt["type"] == "message" and "text" in evt:
message=evt["text"]
# write operations below to receive commands and respond as you like