Как создать Telegram-бота для техподдержки — пошаговая инструкция с кодом

Как создать Telegram-бота для техподдержки — пошаговая инструкция с кодом

Сегодня покажу, как за 15 минут создать Telegram-бота для техподдержки клиентов. Такой бот позволит пользователю написать сообщение, а оператору — быстро на него ответить через Telegram. Простая, но полезная основа, которую можно доработать под себя.

Вам понадобится либо чистый vps сервер, либо можете для теста сделать с физического компьютера.

🔧 Что понадобится • Python 3.10+ • Библиотека aiogram • Токен Telegram-бота • ID администратора (оператора поддержки)

📦 Установка зависимостей

pip install aiogram

🧠 Логика бота: • Пользователь пишет боту. • Бот пересылает сообщение оператору (админу). • Админ отвечает через бота, а ответ уходит пользователю.

📁 Код bot.py

import logging from aiogram import Bot, Dispatcher, types from aiogram.filters import CommandStart from aiogram.types import Message from aiogram.enums import ParseMode # 🔑 Укажи свой токен и Telegram ID администратора BOT_TOKEN = "YOUR_BOT_TOKEN" # Замените на телеграм бот токен из t.me/botfather ADMIN_ID = 123456789 # Замените на свой ID bot = Bot(token=BOT_TOKEN, parse_mode=ParseMode.HTML) dp = Dispatcher() # Храним соответствие: сообщение → пользователь user_messages = {} @dp.message(CommandStart()) async def start(message: Message): await message.answer("👋 Здравствуйте! Напишите свой вопрос, и оператор скоро вам ответит.") @dp.message() async def handle_user_message(message: Message): user_messages[message.message_id] = message.chat.id forward = await bot.send_message(chat_id=ADMIN_ID, text=f"📩 Новое сообщение от @{message.from_user.username or 'Без username'} (ID: {message.chat.id}):\n\n{message.text}") await message.answer("✅ Ваше сообщение отправлено в техподдержку.") @dp.message(lambda m: m.chat.id == ADMIN_ID and m.reply_to_message) async def handle_admin_reply(message: Message): original = message.reply_to_message text = message.text # Найдём ID пользователя try: user_id_line = original.text.split("ID: ")[1].split(")")[0] user_id = int(user_id_line) await bot.send_message(chat_id=user_id, text=f"💬 Ответ от поддержки:\n{text}") await message.answer("📤 Ответ отправлен пользователю.") except Exception as e: await message.answer(f"❌ Не удалось отправить сообщение. Ошибка: {e}") if __name__ == "__main__": logging.basicConfig(level=logging.INFO) dp.run_polling(bot)

🧪 Как запустить 1. Создай бота через @BotFather и получи токен. 2. Узнай свой Telegram ID, например, через @userinfobot. 3. Вставь данные в код. 4. Запусти бота:

python bot.py

Этот бот — основа. Его можно улучшить: • Добавить кнопки FAQ. • Сохранение истории обращений. • База знаний. • Отправка фото/файлов. • Интеграция с CRM. Если нужно можно доработать.

2
4 комментария