Асинхронный Telegram-бот, реализован на библиотеках python-telegram-bot и openai
Бот умеет:
- вести диалог
- помогать практиковаться в приглашении на свидания
- генерировать описания профиля для сайтов знакомств
- помогать создавать сообщения при переписке на сайте знакомств
С ботом можно просто пообщаться, ответы бот дает обращаясь к базе данных ответов.
Если ответ в базе данных не найден, то бот предложит обратиться к ChatGPT, либо продолжить общение дальше.
При нажатии на кнопку "Меню" откроется главное меню бота.
При нажатии в главном меню "/start" или ручном наборе этой команды будет выведена краткая информация о возможностях бота и описание основных команд.
При выборе в меню команды "/gpt" или ее ручном вводе перейдем в режим общения с ChatGPT.
При выборе команды "/date" или ее ручном вводе бот предложит общение со "звездами" на выбор.
Выбрана "Марго Робби". Пример общения.
Команда "/profile" позволяет сгенерировать яркий красочный профиль для соцсети.
Команда "/opener" генерирует первое сообщение для начала диалога и знакомства.
Команда "/message" поможет выйти из затруднительного положения, когда нет идей что сказать, и сгенерирует следующее сообщение в контексте идущего диалога.
- bot.py - содержит всю логику бота, присылает сообщения пользователю, получает сообщения от пользователя и обрабатывает введенные им команды и нажатия кнопок;
- gpt.py - содержит служебный класс ChatGPTService, упрощающий работу бота с ChatGPT;
- util.py - содержит "служебные" функции для упрощения логики в bot.py;
- settings.py - файл настроек, содержит API-ключи (токены) для Telegram и ChatGPT;
- ./DB/db_answers.json - база данных ответов бота, представляет собой словарь в формате "вопрос пользователя":"ответ бота", может быть расширен пользователем.
- Зарегистрировать Telegram-бот:
- в Telegram в поле поиска ввести BotFather, перейти в чат
- в чате нажать кнопку "Запустить" или ввести команду /start
- ввести команду /newbot
- ввести имя создаваемого бота, например Tinder AI Bot
- ввести никнейм нового бота, название должно быть уникальным и заканчиваться на bot
- скопировать токен и вставить его в файле settings.py
- перейти в чат созданного бота по ссылке из сообщения я токеном
- Получить токен для работы с ChatGPT:
- зарегистрироваться на chat.openai.com/auth/login
- перейти на сайт: platform.openai.com
- на сайте нажимаем Personal, и выбираем View API keys
- затем нажимаем Create new secret key
- полученный токен вставляем в файле settings.py
- Установка, сборка и запуск бота:
-
Скачать и установить интерпретатор Python - https://www.python.org/downloads/
Далее выполнить следующие команды в консоли:
-
cd <имя_каталога> # перейти в каталог где будет проект
-
git clone https://github.com/stankv/Telegram_AI_Bot.git # клонировать репозиторий
-
cd Telegram_AI_Bot # перейти в каталог проекта
-
pip install -r requirements.txt # установить пакеты и зависимости
-
python bot.py # запустить телеграм-бот
-