Простой, но мощный Telegram-бот для организации поддержки пользователей через администраторскую группу. Написан на aiogram 3.x.
Бот позволяет пользователям отправлять сообщения в личный чат с ботом, которые затем пересылаются в специальную группу для администраторов. Администраторы могут отвечать на эти сообщения прямо в группе, а бот пересылает их ответы обратно соответствующему пользователю.
- Просто отправьте сообщение боту, и оно будет доставлено администраторам.
- Получайте ответы от администраторов прямо в личный чат.
- Ответы на сообщения: Просто ответьте на пересланное от пользователя сообщение в группе, и ваш ответ будет отправлен ему.
- Информация о пользователе: Команда
/who(в ответ на сообщение или с ID) покажет информацию о пользователе (ID, юзернейм, дата первого запуска). - Статистика: Команда
/statsпокажет общую статистику по боту (количество пользователей, активность, общее число сообщений). - Управление блокировками:
/ban <ID или ответ> [срок] [причина]— заблокировать пользователя. Срок указывается в формате1d(день),2w(недели),3m(минуты),4h(часы). Если срок не указан, бан будет вечным./unban <ID или ответ>— разблокировать пользователя./banlist— посмотреть список заблокированных пользователей с пагинацией.
- Прямое сообщение: Команда
/msg <ID> <текст>позволяет отправить сообщение пользователю от имени бота.
-
Клонируйте репозиторий:
git clone <URL вашего репозитория> cd support-bot
-
Создайте и активируйте виртуальное окружение:
python -m venv venv source venv/bin/activate # Для Windows: venv\Scripts\activate
-
Установите зависимости:
pip install -r requirements.txt
-
Настройте переменные окружения:
Создайте файл
.envв корне проекта, скопировав.env.example:cp .env.example .env
Откройте файл
.envи впишите ваши данные:BOT_TOKEN: Токен вашего Telegram-бота, полученный от @BotFather.ADMIN_CHAT_ID: ID вашей администраторской группы. ID группы должен быть числом (для групп он обычно начинается с-100...).
Как узнать ID группы? Добавьте в группу бота @userinfobot, и он покажет ID чата.
-
Запустите бота:
python main.py
main.py: Основной файл с логикой бота.requirements.txt: Список необходимых Python-библиотек..env: Файл с вашими секретными ключами.meta/: Директория, где бот хранит свои данные:users_data.json: База данных пользователей.messages_mapping.json: Связь между сообщениями пользователей и администраторов.admin_log.txt: Логи действий администраторов.