/dollar_pic_bot

Бот обновляет фото с курсом доллара в телеграм группе каждые 10 минут.

Primary LanguagePython

Dollar picture bot

UP DOWN
stocks_rub stocks_rub_2

Бот обновляет фото с курсом доллара в телеграм группе каждые 10 минут.


Создайте .env в директории с bot.py:

# TELEGRAM BOT API:
TG_BOT_TOKEN=  # токен телеграм бота
TG_ADMIN_ID=   # id администратора телеграм группы
TG_GROUP_ID=   # id телеграм группы

# stocks-analytics-events.apple.com (reversed apple stocks api)
ACCESS_KEY=    # accessKey
MY_UUID=       # User-Agent
USER_AGENT=    # User-Agent

# Ваша UTC зона:
UTC_Z=

ⓘ Для получения кредов для обращения к закрытому API stocks-analytics-events.apple.com используйте mitmproxy или HTTP Catcher(IOS)


Получение id пользователя и группы:

  • Создайте бота через @BotFather
  • Добавьте бота в нужную группу
  • Сделайте запрос (можно прям через строку браузера). Нужно заменить <YourBOTToken> на токен, который вам выдал @BotFather
https://api.telegram.org/bot<YourBOTToken>/getUpdates

Ответ будет в виде JSON.

  • Ищем my_chat_member:from:id:1234567890. Копируем id и добавляем в .env для поля TG_ADMIN_ID.
  • Ищем my_chat_member:chat:id:-1234567890. Копируем id и добавляем в .env для поля TG_GROUP_ID.

Выдаем права боту:

После добавления бота в группу, добавляем его в администраторы и выдаем следующие права:

  • Изменение профиля группы (для изменения фото группы на фото курса)
  • Удаление сообщений (удаление сообщений об изменении фото, и для удаления самого обновленного фото из сообщений. Всё это нужно, чтобы не засорять группу.)


Запуск через docker-compose:

git clone git@github.com:onorridg/dollar_pic_bot.git
cd dollar_pic_bot
nano .env #(Заполняем .env как в примере выше)
docker-compose up -d

Запуск без контейнера в фоне:

nano .env #(Заполняем .env как в примере выше )
python src/bot.py &

Как это выглядит со тороны:


FAQ

  • Зачем нужно было использовать закрытый api apple, не у всех же есть устройство на ios ?

    На данный момент мне не известно ни одного бесплатного api, который позволял бы бесплатно делать запросы каждые 10 минут (это довольно часто). Единственный вариант - это парсить какой-нибудь ресурс, но мне это не интересно.