4

簡単な質問に答えたり、サーバー上でタスクを実行したりする 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 を使用する必要がありますか?

4

2 に答える 2

4

私も今ボットを作成中です。を指定as_user='true'すると、認証されたユーザーとして投稿されることがわかりました。ボットにしたい場合は、ボットの名前と絵文字などの他のオプションを次のように渡します。

sc.api_call(
    'chat.postMessage',
    username='new_slack_bot',
    icon_emoji=':ghost:',
    as_user='false',
    channel='magic',
    text='Hello World!'
)

詳細については、絵文字チート シートを確認してください。

次に、質問やコマンドなどのイベントを聞きたい場合は、送信されたメッセージを傍受してみてください。この投稿にある例:

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
于 2015-11-14T19:14:27.050 に答える
4

ここでわかるように、この呼び出しは true になる引数「as_user」を受け入れます。true に設定すると、作成したボットとしてメッセージが投稿されます。

于 2015-04-04T23:06:19.493 に答える