от Мохамед Умар Ханиф
Стъпка 01:
- На първо място, трябва да имате акаунт в Slack. Добавете работно пространство „TalkMe“ или с друго име.
- Създайте ново приложение Slack, като използвате връзката https://api.slack.com. Кликнете върху „Вашите приложения“ в горния десен ъгъл.
- Сега щракнете върху „Създаване на ново приложение“. Добавете име на приложението и работно пространство и след това щракнете върху „Създаване на приложение“.
Стъпка 02:
- В OAuth & Permissions добавете следните обхвати за двупосочна лична комуникация.
Стъпка 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:
Краен изход