finedk / funny-telegram-bot

Простой телеграм бот на Aiogram

Home Page:https://t.me/alekszavg_funny_bot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Funny-telegram-bot

Телеграм бот разработанный на базе Aiogram. Официальная ссылка - @alekszavg_funny_bot.

Распространяется по лизенции MIT. Все поддерживаемые функции бота были взяты с других репозиториев (более подробный список можно найти в разделе Техническая информация)

Содержание

Назначение

Этот бот был написан для развлечения. Не стоит воспринимать его как серьёзный проект!

Установка

В данный момент этот бот запущен на Heroku в бесплатном тарифном плане

Чтобы установить этого бота на сервис Heroku, нужно:

  • Создать приложение на этом сервисе
  • В настройках приложения добавить buildpack, и добавить нужные переменные в окружение

Пункт 2

  • admin - это telegram id, api_key - это API ключ, который выдается при регестрации бота, who_need_notif - это список тех, кого нужно уведомить при загрузке бота (тоже telegram id)
  • В репозитерии уже есть нужные Procfile и Aptfile для нормальной работы бота (Procfile - для того, чтобы бота можно было запустить, а Aptfile - устанавливает нужные библиотеки для работы opencv-python)
  • Далее нужно "закинуть" исходники на сервера Heroku. Для этого привязываем, ваш клонированый к себе в профиль, репозиторий в этим ботом. После, в вкладке Deploy начинаем процесс "Деплоя", для этого внизу нужно нажать на кнопку Deploy Branch
  • Если на этом этапе у вас возникли ошибки, то могу посоветовать почитать официальную документацию Heroku c переводчиком, а также, гуглите ошибки!
  • На последнем этапе нам нужно запустить бота, для этого нужно нажать на "Ручку" и "передёрнуть" ползунок в противоположную сторону

Пункт 6

  • Для того, что прочитать лог нужно нажать на кнопку More (скриншот выше) и нажать на View Logs. Это не будет лишним при отладке!
  • Если вы запустите этого бота на Heroku, то тогда не будут работать:
    • Функция Ping запроса. (Чтобы включить эту функцию нужно: зайти в файл ping_func.py и убрать комментарии, а также убрать эту строку await message.answer("❗️ Из-за технических ограничений сервиса Heroku функция Ping не работает!"))

Техническая информация

  • Этот бот написан на Aiogram
  • При написании бота была использована виртуальная среда (venv), а также переменные из среды (.env)
  • Для локального использования нужно создать .env , в нём должны быть api_key (str), admin (int), who_need_notif (list)
  • Структура проекта взята из шаблона Latand-а
  • Чтобы добавить новый функционал нужно дополнять файлы __init__.py
  • В этой структуре бота имеет значение порядок импорта!
  • При скачивании стикера в его название вставляются: название стикерпака и его file_unique_id.
Например:
   - "NordsKonosuba - @AgADigcAAt5A-Ac"
   - "nagatoro_manga - @AgAD2AADTptkAg"
  • Что было использовано в боте:
    • Нейросеть по определению пола, которую я слегка адаптировал - ССЫЛКА
    • Библиотека pythonping

От автора

Если у вас есть какие-то пожелания или претензии, то пишите мне в телеграм @alekszavg или на GitHub! Это мой первый и, пока что, самый крупный проект, поэтому если где-то напортачил, я сильно извеняюсь! Можете написать мне об ошибке, и я постараюсь её исправить.

Всем удачи и до свидания!

About

Простой телеграм бот на Aiogram

https://t.me/alekszavg_funny_bot

License:MIT License


Languages

Language:Python 100.0%