Slack Bot отвечает на все каналы
Я использую slack bot для отправки сообщений из моего приложения в slack. Мои сценарии использования: ---> пользователь вводит команду IN определенному боту, а затем бот возвращается со сгенерированным системой сообщением в канале
Сейчас все идет хорошо ... Я хочу, чтобы бот отвечал только если пользователь отправляет прямые сообщения этому боту. но в моем случае этого не происходит. независимо от того, на каком канале пользователь вводит команду, бот отвечает, но это то, чего я не хочу. я хочу, чтобы система отвечала только если пользователь отправляет команду на канал моего бота
class SlackEvents(APIView):
def post(self, request, *args, **kwargs):
slack_message = request.data
# denied if request is sent from some other url
if slack_message.get('token') != SLACK_VERIFICATION_TOKEN:
return Response(status=FORBIDDEN)
# verification challenge
if slack_message.get('type') == 'url_verification':
return Response(data=slack_message,status=OK)
# greet bot
if 'event' in slack_message:
event = slack_message.get('event')
# ignore bot's own message
if event.get('subtype') == 'bot_message':
return Response(status=OK)
# process user's message
if event['type'] == 'message':
# a = Client.conversations_open()
user = event['user']
channel = event['channel']
other_channel = 'C03SKDLHUPP'
msg = event['text']
if msg == 'in':
in_command(channel,other_channel,user)
if msg == 'out':
out_command(channel,other_channel,user)
if msg == 'brb':
brb_command(channel,other_channel,user)
if msg == 'lunch':
lunch_command(channel,other_channel,user)
if msg == 'rfb':
rfb_command(channel,other_channel,user)
if msg == 'rfl':
rfl_command(channel,other_channel,user)
return Response(status=OK)