HoroscopeBot – это бот Telegram, генерирующий гороскопы на каждый день при помощи GPT-4 и позволяющий выполнять рассылку использующим его пользователям. Бот также поддерживает проверку подписки на указанные чаты при инициализации работы.
- Загрузить последний релиз. Распаковать.
- Установить Python версии не старше 3.10.
- В среду исполнения установить следующие пакеты: pyTelegramBotAPI, APScheduler, freeGPT, dublib, g4f.
pip install pyTelegramBotAPI
pip install APScheduler
pip install freeGPT
pip install dublib
pip install g4f
Либо установить сразу все пакеты при помощи следующей команды, выполненной из директории скрипта.
pip install -r requirements.txt
- Настроить скрипт путём редактирования Settings.json.
- Открыть директорию со скриптом в терминале. Можно использовать метод
cd
и прописать путь к папке, либо запустить терминал из проводника. - Указать для выполнения главный файл скрипта
main.py
, перейти в Telegram, отправить в чат с ботом команду/start
. Для доступа к панели управления необходимо отправить боту установленный в настройках пароль и команду/admin
. - Для автоматического запуска службы рекомендуется провести инициализацию скрипта через systemd (пример здесь) на Linux или путём добавления его в автозагрузку на Windows.
Note
Для внепланового обновления гороскопа можно выполнить скрипт с аргументом main.py update
, после чего перезапустить бота.
/admin
Открывает панель управления ботом.
/start
Инициализирует работу бота.
/unattach
Удаляет все вложения.
"token": ""
Сюда необходимо занести токен бота Telegram (можно получить у BotFather).
"lib": "g4f"
Указывает библиотеку, используемую для доступа к GPT-4. Поддерживаются: freeGPT, g4f.
"timezone": "Europe/Moscow"
Указывает часовой пояс, по которому в полночь будет происходить обновление гороскопов.
"premium": false
Здесь указывается, имеется ли у хозяина бота Premium-подписка. Влияет на максимальную длину сообщения.
"password": "1234"
Пароль для авторизации администратора.
"message": "Здравствуйте!"
Текст сообщения рассылки. Поддерживает HTML разметку, допустимую в Telegram.
"collect-media": false
Состояние: идёт ли в данный момент приём вложений.
"subscription-notification": "Для использования бота подпишитесь на наши чаты."
Текст уведомления о необходимости подписки. Поддерживает HTML разметку, допустимую в Telegram.
"always-check-subscriptions": false
Указывает, необходимо ли проверять подписки на каналы и группы при каждом взаимодействии пользователя с ботом.
"required-subscriptions": {
"{CHAT_ID}": {
"link": "",
"title": ""
}
}
Здесь можно определить перечень чатов, подписка на которые обязательна для инициации работы бота. Перед проверкой бот должен стать администратором целевого чата. ID группы или канала можно узнать при помощи Chat ID Bot. Данное правило игнорируется пользователями, определёнными как администраторы бота.
"delay": 1
Интервал в секундах между последовательными запросами к серверам Telegram.
Copyright © DUB1401. 2023-2024.