Simple telegram bot for Yandex.Tracker
Простенький телеграм бот для получения обновлений с аккауна Яндекс.Трекера. Бот принимает email пользователя Яндекс.Трекера и возвращает ему список текущих задач, после чего предлагает каждые 20 минут получать собщения об обновленных задачах, если таковые появляются.
Для командного взаимодействия с ботом используются команды: /start
, /status
, /cancel
. Которые запускают работу бота, возвращают всю статистику по задачам, и завершают работу бота, соответственно. Остальные данные бот получает из текстовых сообщений.
Для начала устанавливаме сам код. Для этого в командной строке, в нужной нам папки вводим git clone https://github.com/Glicher-wp/Telegram_bot.git
. Предварительно убедитесь, что у вас установлен гит. после этого, создаем виртуальное окружение и вводим команду pip install -r rquirements.txt
. После чег будут установлены все необходимые библиотеки.
Дальше нам нужно получить необходимые для работы токены
Здесь все просто, идем в наш Telegram (предварительно не забыв его установить) и находим там @BotFather.
Далее следуем его инстркциям и получаем от него токен для своего бота. Подставляем его в TELEGRAM_TOKEN = os.environ.get("TELEGRAM_TOKEN")
. С этим все готово.
Здесь чуть сложнее. Для начала, нам нужно приложениее Трекера. Если оно есть - отлично, если нет идем сюда и создаем организацию. Яндекс автоматически создаст для вас трекер. Дальше идем к плашке Очереди в верхней части страницы и смотрим там поле ORG Нас интересут числовой индекс - это наш ORG_ID. Дальше идем на страницу авторизации за токеном. И создаем там приложение, либо выбераем нужное, если оно уже есть. Здесь вводим любое название и описание (их всегда можно будет поменять). Далее в поле Платформы выбираем веб сервисы и нажимаем на ссылку подставить URL, чтобы получить дефолтный callback URL. В поле Доступы выбираем Трекер и даем ему все разрешения(шоб было) Дальше возвращаемся на свою страницу авторизации. Заходим в профиль нашего приложения и копируем его ID. Он нам сейчас пригодится.
После этого возвращаемся и переходем по ссылке https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор приложения>
в котору подставляем только что скопированный ID. На странце будет нужный там токен.
Подставляем ORG_ID и токен в переменные ORG_ID = os.environ.get('ORG_ID')
YANDEX_TOKEN = os.environ.get('YANDEX_TOKEN')
. Готово,мы подключились к нашей организации в Трекере.
После этого нам остается только создать очередь, ключ которой мы подставим в переменные queue = client.queues["ключ созданной очереди"]
. Сам ключ находится в адрессной строке, либо его можно увидеть при создании задачи. Он представляет из себя заглавные латинские буквы.
Теперь бот готов. Остается только запустить его: python telegram_bot_logic.py