Skip to content

Dmitrii-Kopeikin/character-ai-tg-bot

Repository files navigation

Character AI Telegram Bot

Python Aiogram FastAPI Redis SQLAlchemy Postgres httpx pydantic amplitude

Описание

Character AI Telegram Bot - это Telegram-бот, который может пообщаться с тобой от лица какого-нибудь персонажа или известной личности.

Данный бот разрабатывался как тестовое задание. Его функционал пока ограничен. Вы можете выбирать личность для бота и вести с ним беседу.

Функции

  • Выбор личности
  • Запросы, вопросы и т.д.

Использованные технологии

  • Python 3.11
  • Aiogram - Python-фреймворк для создания Telegram-ботов
  • FastAPI - Python-фреймворк для создания веб-приложений с высокой производительностью
  • Uvicorn - ASGI-сервер, используемый для запуска FastAPI
  • SQLAlchemy - Python-библиотека для работы с реляционными базами данных
  • Alembic - Python-библиотека для миграции баз данных
  • httpx - Python-библиотека для выполнения HTTP-запросов
  • Redis - In-memory база данных с открытым исходным кодом

Установка

В первую очередь необходимо зарегистрировать бота в сети Telegram и получить токен. Для этого можно воспользоваться ботом @BotFather.

Данный бот использует Telegram Hook. Следовательно для его запуска нужен белый IP, или можно использовать утилиту и сервис https://ngrok.com.

Перед запуском необходимо переименовать файл '.env.template' в '.env' и заполнить в нем все переменные.

Запуск

Для быстрого запуска можно использовать команду docker-compose up.

Использование

При вводе команды /start происходите регистрация пользователя и появляется кнопка выбора личности для бота. Личность можно сменить в любой момент с помощью команды /menu.