Мухаммад Умар Ханиф
Шаг 01:
- Прежде всего, у вас должна быть учетная запись Slack. Добавьте рабочую область «TalkMe» или с любым другим названием.
- Создайте новое приложение slack по ссылке https://api.slack.com. Нажмите на Ваши приложения в правом верхнем углу.
- Теперь нажмите «Создать новое приложение». Добавьте имя приложения и рабочее пространство, а затем нажмите «Создать приложение».
Шаг 02:
- В OAuth и разрешениях добавьте следующие области для двустороннего личного общения.
Шаг 03:
- Перейдите в строку меню «Установить приложение» и нажмите «Установить на рабочее место».
- Это даст нам токен Slack Bot. Скопируйте его и вставьте в файл .env в редакторе кода.
Шаг 04:
- Посетите строку меню «Подписка на события» и подпишитесь на события бота.
- И добавьте следующие пользовательские события бота.
- Каждый раз, когда мы меняем области разрешений в приложениях, нам нужно переустанавливать наше приложение.
Шаг 05:
- Создайте канал «#test» в Slack или с любым другим названием.
- Добавьте свое бот-приложение «ChatMe» в канал #test.
Шаг 06:
- Чтобы запустить это на веб-сервере или локальном компьютере, мы будем использовать «ngrok». Он предоставляет общедоступные URL-адреса для тестирования наших чат-ботов.
- • Загрузите «ngrok» и поместите приложение в тот же каталог, где находится код.
Шаг 07:
- Перейдите к основной информации, скопируйте секрет подписи и поместите его в файл .env.
- Загрузите «ngrok» и поместите приложение в тот же каталог, где находится код.
Шаг 08:
from lib2to3.pgen2 import token from aiohttp import Payload import slack import os from pathlib import Path from dotenv import load_dotenv from flask import Flask, request, Response from slackeventsapi import SlackEventAdapter env_path=Path('.') /'.env' load_dotenv(dotenv_path=env_path) app=Flask(__name___) slack_event_adaptor-SlackEventAdapter(os.environ['SIGNING SECRET'],'/slack/events', app) client=slack.WebClient(token=os.environ['SLACK_TOKEN']) BOT_ID=client.api_call("auth.test") ['user_id'] @slack_event_adaptor.on('message') def message(payLoad): event=payload.get('event', {}) channel_id1=event.get('channel') user_id=event.get('user') text1=event.get('text') if BOT_ID=user_id: client.chat_postMessage(channel=channel_id1, text=text1) if __name___=="___main__": app.run(debug=True) message() SLACK_TOKEN=********************************* SIGNING_SECRET=****************************** BOT_TOKEN=***********************************
- Запустите bot.py, это даст вам ссылку на веб-сервер. Типа http://127.0.0.1:5000/
- Откройте терминал в каталоге, где находится ngrok.
- И запустите команду «ngrok http 5000».
- Это даст вам ссылку запроса переадресации. Скопируйте эту ссылку. (продолжайте открывать это окно, если оно будет закрыто, ссылка запроса на переадресацию изменится)
Шаг 09:
- Откройте меню «Подписка на события» на веб-сайте Slack API и включите события.
- Вставьте ссылку запроса на переадресацию с конечными точками, указанными в коде.
Шаг 10:
Окончательный результат