⊂ກ০⊂০bዘ০⊂τu | τ০kℯዘӸ u ID | ∂ℯກᏁ০ú u ℨᏘກɣ⊂k
- оповещать о разовых напоминаниях, удаляя их после исполнения
- ежегодно оповещать о днях рождения
- рассказывать анекдоты
- показывать картинки с котиками
- выдавать прогноз погоды
- показывать список мероприятий в ближайшем мегаполисе на сегодняшний день
- сбрасывать ваше местоположение в общий чат
Разовые напоминания обязательно должны содержать дату в формате ##.##.##. Если не прописать время в тексте напоминания, то оно по умолчанию будет 7:15. Если в тексте будет написано конкретное время, то бот оповестит вас за 4 часа до его наступления.
Пример: 20.12.2022 в 17:50 встреча в кафе с Васей.
О ежегодных напоминаниях бот оповещает в 7:15 на дату оповещения. Если в тексте был Емоджи 🎁, то дополнительно будет оповещение за 7 дней до даты. Это на случай если нужно купить подарок. В формате даты у ежегодного оповещения не должно быть года, только день и месяц ##.##
Пример: 20.12 ДР у Васи Васиной 🎁
Анекдоты, картинки, список мероприятий, погоду и т.п. можно отобразить нажав на соответствующие кнопки
ТОКЕНЫ, ID и прочее:
- TOKEN = ' ' - токен Вашего бота, получаем его в Телеграмм https://t.me/BotFather. После создания бота через @BotFather и получения токена, тут же входим в настройки инлайн режима командой '/setinline' и включаем его.
Для создания кнопки с быстрыми командами, вводим '/setcommands' и передаём список самих команд:
help - вывести список доступных команд
help_location - показать кнопку с запросом погоды
-
CHAT_ID = ' ' - ID чата вашей группу, где будут отображаться напоминания. Получить его можно при помощи бота https://t.me/getmyid_bot. Для этого просто добавьте его в группу. Отрицательный номер это ID группы, второй ваш. Не забываем удалить этого бота из группы и добавить своего.
-
OW_API_ID = ' ' - токен для прогноза погоды. Доступен после регистрации по адресу https://home.openweathermap.org/api_keys
-
YANDEX_GEO_API = ' ' - токен Геокодера Яндекса. Получить можно по адресу https://yandex.ru/dev/maps/geocoder/
-
ID_CHILDREN = ' ' - ID члена/ов общей группы, кому противопоказаны взрослые анекдоты. Т.е. лица моложе 18 лет. ID можно перечислять через пробел. Необязательный параметр.
-
ID_ADMIN = ' ' - ID пользователя, которому будут высылаться служебные сообщения о работе программы.
-
DOMEN = ' ' - домен на котором будет размещён ваш бот. К примеру для HEROKU: https:// имя app.herokuapp.com
-
DATABASE_URL = ' ' - URL с данными подключения к базе PostgreSQL
-
PRACTICUM_TOKEN = ' ' необязательный параметр
Я использовал сервис HEROKU и поэтому буду описывать размещение бота на нём.
Дня начала нужно зарегистрироваться. В России, в условиях санкций, это возможно сделать только через прокси.
После регистрации создаём приложение, имя на ваше усмотрение.
В правом верхнем углу, нажав на кнопку из 9-ти точек, выбираем Data. Создаём Heroku Postgres базу данных, инсталлируя её с бесплатным планом. В строке App to provision to необходимо ввести название приложения, созданного ранее, и выбрать его из выпадающего списка.
В личном кабинете HEROKU переходим на вкладку Settings. Жмём на кнопочку Reveals Config Vars и вводим полученные токены:
Для дальнейших действий необходимо сделать Fork репозитория к себе в GitHub. Только после этого, в личном кабинете HEROKU Вам будет доступно подключение этого бота через свой GitHub.
Итак, после форка, в личном кабинете HEROKU остаётся в разделе Deploy выбрать Connect to GitHub. В поле Search for a repository to connect to ввести имя ветки webhook_bot. Приконектится к ней и нажать на кнопку Deploy Branch.
Всё, бот работе.
Для того чтоб он не засыпал через каждые 30 минут бездействия, необходимо извне делать к нему запросы. Для этого подойдёт любой сторонний сервис, к примеру этот >>>. Регистрируемся, создаём новый монитор с параметром опроса по HTTPS, вводим URL https:// имя app.herokuapp.com/test и выставляем интервал мониторинга в 10 минут. Как приятный бонус, имеем оповещение на email от сервиса в случае отказа бота.

