スラッシュコマンドがアプリで直接メッセージチャンネルに送信されたことを確認するには、スラッシュリクエスト内のchannel_id
がアプリの有効なダイレクトメッセージチャンネルを参照していることを確認するだけです。より詳細には
:(PHP配列)
array (
'token' => 'XXX',
'team_id' => 'T12345678',
'team_domain' => 'mydomain',
'channel_id' => 'D12345678',
'channel_name' => 'directmessage',
'user_id' => 'U12345678',
'user_name' => 'erik.kalkoken',
'command' => '/evestatus',
'text' => '',
'response_url' => 'https://hooks.slack.com/commands/Txxx',
'trigger_id' => '123',
)
channel_id
:ユーザーがアプリは、このようなスラッシュ要求を受信するアプリと直接メッセージ・チャネルのあなたのスラッシュコマンドを実行
これがダイレクトメッセージチャネルからのものであることを示す「D」で始まります。
次に、im.list
であなたのアプリのダイレクトメッセージチャンネルのリストをプルします。アプリトークンを使用するようにして、アプリのダイレクトメッセージチャンネルを入手してください。
channel_id
がそのリストにある場合、スラッシュコマンドはアプリでの直接メッセージチャンネルで使用されました。
今日試してみました。ありがとうございました。 – rsnhah
私は "im.list"に関するいくつかの質問をしています。それは、 "D"で始まるchannelIdは、ワークスペース内のすべてのユーザが、単一のbot 'rbot'と通信しても異なっているようです。新しいユーザーがワークスペースに参加すると、新しいIDが生成されます。 channelIdが同じユーザーとボット( 'rbot')のペアに対して変更される可能性はありますか? – rsnhah