GithubHelp home page GithubHelp logo

dub1401 / horoscopebot Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 82 KB

Бот Telegram, генерирующий гороскопы при помощи GPT-4.

License: Apache License 2.0

Python 100.00%
bot gpt-4 horoscope telegram mailing

horoscopebot's Introduction

HoroscopeBot

HoroscopeBot – это бот Telegram, генерирующий гороскопы на каждый день при помощи GPT-4 и позволяющий выполнять рассылку использующим его пользователям. Бот также поддерживает проверку подписки на указанные чаты при инициализации работы.

Порядок установки и использования

  1. Загрузить последний релиз. Распаковать.
  2. Установить Python версии не старше 3.10.
  3. В среду исполнения установить следующие пакеты: 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
  1. Настроить скрипт путём редактирования Settings.json.
  2. Открыть директорию со скриптом в терминале. Можно использовать метод cd и прописать путь к папке, либо запустить терминал из проводника.
  3. Указать для выполнения главный файл скрипта main.py, перейти в Telegram, отправить в чат с ботом команду /start. Для доступа к панели управления необходимо отправить боту установленный в настройках пароль и команду /admin.
  4. Для автоматического запуска службы рекомендуется провести инициализацию скрипта через systemd (пример здесь) на Linux или путём добавления его в автозагрузку на Windows.

Note

Для внепланового обновления гороскопа можно выполнить скрипт с аргументом main.py update, после чего перезапустить бота.

Команды

/admin

Открывает панель управления ботом.


/start

Инициализирует работу бота.


/unattach

Удаляет все вложения.

Settings.json

"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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.