Версия данного файла доступна на следующих языках: русский, english
Телеграм-бот, написанный на языке Python, который позволит Вам в кратчайшие сроки развернуть удобный, многофункциональный и расширяемый способ организации технической поддержки Вашего продукта через Telegram.
Способы:
- Запуск через Docker (Данный способ рекомендован в случае, если Вам не требуется дополнительных опций при запуске бота)
- Запуск бота с помощью исходного кода
Требования: Docker (Установка: Windows, Linux), Git
Склонируем данный репозиторий репозиторий с помощью следующей команды:
git clone https://github.com/Kamilfo-Developer/telegram-support-bot.git
Перейдём в папку с исходным кодом репозитория:
cd telegram-support-bot
Теперь создадим файл .env
с конфигурацией приложения. После создания его необходимо открыть, используя текстовый редактор. Например, nano на Linux или Notepad (Блокнот) на Windows.
После чего следует задать конфигурацию бота. Если Вы запускаете приложение через docker-compose (рекомендуется, если Вы хотите запустить обычную версию бота), то добавьте в файл .env
следующие строчки:
BOT_TOKEN=<Токен Вашего бота>
OWNER_PASSWORD=<Пароль для инициализации владельца бота>
DEFAULT_LANGUAGE_CODE=ru
Если Вам непонятны назначения полей данного файла, их описание можно посмотреть здесь.
На следующем этапе нам понадобится Docker. После его установки, введите следующую команду:
docker-compose up -d
Если Вы сделали всё верно, то бот запустится и будет готов к использованию. Поздравляем!
Требования: Python версии не менее 3.10, Git
Для начала склонируем репозиторий:
git clone https://github.com/Kamilfo-Developer/telegram-support-bot.git
После чего откроем директорию с исходным кодом:
cd telegram-support-bot
Здесь нам понадобится установить poetry
:
- Для Windows:
pip install poetry
- Для Linux:
pip3 install poetry
Теперь можно установить зависимости. Для этого достаточно ввести следующую команду (скорость установки зависит от скорости подключения Вашего устройства):
poetry install
После чего активируем среду с установленными зависимостями:
poetry shell
Теперь создадим файл .env
с конфигурацией приложения. После создания его необходимо открыть, используя текстовый редактор. Например, nano на Linux или Notepad (Блокнот) на Windows.
После чего следует задать конфигурацию бота. Если в качестве базы данных Вам будет достаточно SQLite и в качестве языка по умолчанию будет выступать русский, то Вам достаточно добавить в файл .env
следующие строчки:
BOT_TOKEN=<Токен Вашего бота>
OWNER_PASSWORD=<Пароль для инициализации владельца бота>
DEFAULT_LANGUAGE_CODE=ru
Если Вам непонятны назначения полей данного файла, их описание можно посмотреть здесь.
После конфигурации приложения необходимо сделать миграции с помощью Alembic. Для этого введите следующие команды:
Сначала перейдите в дерикторию с миграциями:
cd bot/db/migrations
Затем выполните сами миграции:
alembic upgrade head
После чего вернитесь в корневую папку репозитория
cd ../../..
Если всё прошло успешно, то можно запускать бота. Для этого необходимо ввести:
python -m bot
Если Вы сделали всё верно, то бот запустится и будет готов к использованию. Поздравляем!
Используется для указания токена бота. Токен можно здесь: https://telegram.me/BotFather.
Значение по умолчанию: отсутствует
Пароль для инициализации владельца бота. Должен состоять из одного слова, например: МойОченьНадёжныйПароль
. После запуска бота, необходимо будет ввести команду /initowner
, в качестве аргумента передав пароль. В итоге получится строка: /initowner МойОченьНадёжныйПароль
. После отправки данной команды боту он будет готов к использованию.
Значение по умолчанию: отсутствует
Имя владельца по умолчанию. Должно состоять из одного слова. Например, ВладелецДанногоБота
.
Значение по умолчанию: Owner
Задаёт язык по умолчанию. Он будет использован, если среди поддерживаемых ботом языков не нашлось пользовательского. Строка с указанным языком должна соответствовать IETF-тегу. Например, ru
или en
.
Значение по умолчанию: en
.
Задаёт используемую базу данных.
Может принимать следующие значения: sqlite
, postgres
, mysql
Значение по умолчанию: sqlite
Значение по умолчанию в docker-compose: postgres
Часовой пояс, который будет использован при форматировании сообщений для пользователей. Пример: Europe/Moscow
. Полный список в подобном формате может быть найден здесь.
Значение по умолчанию: будет использован локальный часовой пояс
Название соответствующего асинхронного драйвера для PostgreSQL, поддерживаемого SQLAlchemy.
Имейте в виду, что при использовании драйвера не по умолчанию, его сначала придётся установить.
Значение по умолчанию: asyncpg
Название используемой базы данных внутри PostgreSQL.
Значение по умолчанию: postgres
Имя пользователя внутри PostgreSQL.
Значение по умолчанию: postgres
Хост базы данных PostgreSQL.
Значение по умолчанию: localhost
Значение по умолчанию в docker-compose: db
Значение порта для базы данных PostgreSQL.
Значение по умолчанию: 5432
Пароль для базы данных PostgreSQL.
Значение по умолчанию: postgres
Название соответствующего асинхронного драйвера для PostgreSQL, поддерживаемого SQLAlchemy.
Имейте в виду, что при использовании драйвера не по умолчанию, его сначала придётся установить.
Значение по умолчанию: asyncmy
Название используемой базы данных внутри MySQL. При использовании соответствующей БД, должно быть задано.
Значение по умолчанию: отсутствует
Имя пользователя внутри MySQL. При использовании соответствующей БД, должно быть задано.
Значение по умолчанию: отcутствует
Хост базы данных MySQL.
Значение по умолчанию: localhost
Значение порта для базы данных MYSQL.
Значение по умолчанию: 3306
Пароль для базы данных MySQL. При использовании соответствующей БД, должно быть задано.
Значение по умолчанию: отсутствует