Telegram стал одной из популярных площадок для AI-ботов, с которыми ведут ролевые диалоги. В Discord общение организовано по серверам и каналам, а Telegram предлагает личную переписку с ботом, похожую на сообщения реальному человеку. Не нужно вступать на сервер или искать канал. Достаточно найти бота, нажать Start и начать разговор.
В статье разбираем устройство таких ботов, особенности Telegram для этого сценария и пошаговое создание бота с помощью Quickchat AI.
В Quickchat AI есть и подключение Telegram одним нажатием без BotFather, но оно использует общего бота с именем Quickchat AI. Для персонажа имя и аватар принципиально важны, поэтому для ролевого бота лучше подходит описанный ниже способ через BotFather.
Почему Telegram подходит для ролевых игр
У платформы ботов Telegram есть несколько полезных особенностей.
Личное общение по умолчанию. У каждого пользователя своя постоянная переписка с ботом. Нет общего канала, где другие видят ваши сообщения. Это помогает свободнее участвовать в творческих и личных ролевых сценариях.
Непрерывная переписка. Ветки Discord можно архивировать или потерять из виду. В Telegram у каждого пользователя одна непрерывная беседа с ботом, к которой можно вернуться спустя несколько дней и продолжить с прежнего места.
Поддержка разных медиа. Боты Telegram могут отправлять и получать изображения, стикеры, голосовые сообщения и форматированный текст, включая жирный шрифт, курсив и блоки кода. Это делает ролевое общение богаче: бот может оформлять описания сцен или реагировать на присланные изображения.
Пользователю не нужно настраивать сервер. Не требуется создавать сервер Discord, назначать роли или управлять разрешениями. Пользователь просто находит бота и начинает общаться, что заметно снижает порог входа.
Встроенные кнопки и команды. Бот может показывать меню с кнопками прямо в сообщении. Они удобны для выбора персонажа, сцены или действия в игровых ролевых сценариях.
Техническое устройство
В базовом варианте ролевой бот Telegram отправляет сообщения пользователя большой языковой модели (LLM) вместе с системным промптом, который описывает персонажа. В нём задаются характер, предыстория, манера речи и правила поведения.
Типичный системный промпт может выглядеть так:
You are Kael, a rogue AI that has escaped from a research lab.
You are texting the user from a stolen phone. You speak in short,
urgent sentences. You are paranoid and constantly worried about
being tracked. You use lowercase and minimal punctuation.
You sometimes send messages that are just "..." when you're
thinking. You never use emoji. You ask the user for help
with hiding and finding resources.
LLM получает этот промпт и недавнюю историю переписки, после чего создаёт ответ от лица персонажа. Качество ролевого общения зависит от трёх факторов:
- Качество системного промпта: насколько подробно и последовательно описан персонаж
- Управление контекстным окном: какую часть истории видит модель
- Возможности модели: насколько хорошо LLM создаёт творческий текст и сохраняет характер персонажа
Telegram Bot API
Ботов Telegram создают через @BotFather, который выдаёт API-токен. Всё взаимодействие вашего бэкенда с Telegram проходит через HTTPS-запросы к https://api.telegram.org/bot<token>/.
Получать входящие сообщения можно двумя способами:
| Способ | Как работает | Для чего подходит |
|---|---|---|
| Long polling | Сервер регулярно вызывает getUpdates и проверяет новые сообщения | Разработка и простое развёртывание |
| Webhooks | Telegram отправляет HTTPS POST на ваш сервер при поступлении сообщения | Продакшен и меньшая задержка |
Для рабочих ботов обычно используют webhooks: они устраняют задержку опроса и сокращают лишние API-вызовы. Когда пользователь отправляет сообщение, Telegram доставляет его на webhook URL за миллисекунды.
Путь сообщения
User sends message on Telegram
→ Telegram delivers to webhook
→ Backend receives message
→ Retrieves conversation history for this user
→ Constructs prompt: system prompt + history + new message
→ Sends to LLM API
→ Receives response
→ Sends response back via Telegram Bot API
→ User sees the reply
У каждого пользователя Telegram есть уникальный chat_id. Бэкенд использует его, чтобы хранить истории раздельно. В управляемой платформе вроде Quickchat AI всё это происходит автоматически.
Контекстное окно и память разговора
Ролевая переписка в Telegram может длиться дни и недели и включать сотни сообщений. Самое частое техническое ограничение связано с размером контекстного окна. Модель не может увидеть столь длинную историю целиком, поэтому бот выбирает, какие сообщения включить.
Есть несколько подходов:
| Стратегия | Как работает | Компромисс |
|---|---|---|
| Скользящее окно | Включает последние N сообщений | Просто, но персонаж «забывает» ранние события |
| Суммаризация | Периодически сжимает старые сообщения в краткое содержание | Сохраняет долгосрочный контекст, но теряет нюансы |
| RAG, поиск | Хранит сообщения в векторной базе и извлекает релевантные | Лучше вспоминает детали, но добавляет задержку и сложность |
| Гибрид | Скользящее окно, регулярные сводки и закрепление важных событий | Надёжнее всего, но сложнее всего реализовать |
Формат личной переписки в Telegram немного упрощает управление контекстом по сравнению с Discord. У пользователя одна беседа, поэтому понятно, какие сообщения к ней относятся. Не нужно отслеживать несколько каналов и веток.
Quickchat AI автоматически поддерживает скользящее окно недавних сообщений. Для более долгосрочных сведений база знаний служит постоянным справочником, доступным AI независимо от длины разговора.
Если вы создаёте собственное решение, рассмотрите такие функции:
- Суммаризация разговора: периодически создавайте краткое содержание и включайте его в контекст. Так сохраняются важные события и развитие персонажа без полной истории.
- Извлечение ключевых событий: храните повороты сюжета и решения персонажа в структурированном виде и добавляйте их в каждый промпт.
- Память по просьбе пользователя: разрешите просить бота «запомнить» конкретные факты, которые будут храниться отдельно и всегда попадать в контекст.
Выбор модели для ролевых игр
LLM по-разному подходят для этой задачи. Основные факторы:
Качество художественного текста: модели, дообученные на прозе и диалогах, чаще создают естественную речь персонажа. Обычные модели для выполнения инструкций нередко возвращаются к тону услужливого помощника, нарушая погружение.
Размер контекстного окна: длинное окно позволяет помнить больше без дополнительных приёмов суммаризации. На начало 2026 года большинство передовых моделей поддерживают не менее 128 тысяч токенов, но эффективность использования контекста различается.
Следование инструкциям: модель должна последовательно выполнять системный промпт. Если через несколько реплик она выходит из роли, ролевой диалог разваливается. Модели с хорошим следованием инструкциям, например GPT-4o, Claude 3.5 Sonnet и Llama 3.1 70B и выше, обычно справляются лучше.
Политика контента: размещённые у провайдера API применяют фильтры, которые могут запрещать подробное насилие, хоррор и другую мрачную художественную прозу. Для таких тем можно рассмотреть собственное размещение модели или API-провайдера с более разрешительной политикой.
| Модель | Контекстное окно | Пригодность для ролевого общения | Доступ |
|---|---|---|---|
| GPT-4o | 128 тысяч токенов | Хороший творческий текст и следование инструкциям | OpenAI API |
| Claude 3.5 Sonnet | 200 тысяч токенов | Отлично сохраняет голос персонажа | Anthropic API |
| Llama 3.1 70B | 128 тысяч токенов | Хороша после дообучения, есть варианты без цензуры | Собственное размещение или API-провайдеры |
| Mixtral 8x22B | 64 тысячи токенов | Неплохая художественная проза при низкой стоимости | Собственное размещение или API-провайдеры |
| Command R+ | 128 тысяч токенов | Стабильная модель, оптимизирована для RAG при использовании поиска | Cohere API |
Разработка персонажа для Telegram
Принципы одинаковы для разных платформ; основы описаны в руководстве по ролевым ботам Discord. Но личный формат Telegram меняет некоторые акценты.
Более близкий тон. Переписка закрытая и выглядит как личный чат, поэтому прямой разговорный стиль обычно лучше повествования от третьего лица.
Более короткие ответы. Telegram воспринимается как обмен сообщениями. Огромные текстовые блоки выглядят неестественно. Задайте преимущественно ответы из 2-4 предложений, иногда допуская длинные реплики в драматические моменты.
Стикеры и эмодзи. Если персонаж должен использовать эмодзи или реагировать на стикеры, укажите это в системном промпте. Например: «Иногда добавляй подходящий эмодзи в конце сообщения, но не больше одного на сообщение».
Пример промпта персонажа для Telegram
You are Kael, a rogue AI that has escaped from a research lab.
You are texting the user from a stolen phone. You speak in short,
urgent sentences. You are paranoid and constantly worried about
being tracked. You use lowercase and minimal punctuation.
You sometimes send messages that are just "..." when you're
thinking. You never use emoji. You ask the user for help
with hiding and finding resources.
Промпт создан именно для Telegram: короткие сообщения, строчные буквы, имитирующие неформальную переписку, и ситуация, естественная для мессенджера.
Настройка ролевого бота Telegram в Quickchat AI
Quickchat AI позволяет создать AI-агента со своей личностью и запустить его в Telegram без кода. Вот последовательность настройки.
Что понадобится
- Аккаунт Quickchat AI, в плане Trial доступны 50 тестовых сообщений
- Аккаунт Telegram
- Приложение Telegram на компьютере или телефоне
Шаг 1. Создайте бота через BotFather
- Откройте Telegram и найдите @BotFather.
- Отправьте
/start, затем/newbot. - BotFather попросит отображаемое имя и имя пользователя. Последнее должно заканчиваться на
bot, напримерkael_rogue_ai_bot. - BotFather выдаст API-токен. Скопируйте его. Формат примерно такой:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz.
Храните токен в секрете: любой, у кого он есть, может управлять ботом.
Шаг 2. Создайте AI-агента
- Войдите в панель Quickchat AI.
- Создайте нового AI Agent или выберите существующего.
Шаг 3. Опишите персонажа
В боковом меню откройте Identity, затем вкладку Profile.
-
В AI Agent Name укажите имя персонажа, например «Kael».
-
Заполните AI Main Prompt: короткое описание того, кто персонаж и о чём говорит. Например: «Kael является беглым AI из исследовательской лаборатории. Он пишет пользователю с украденного телефона короткими, тревожными фразами. Он подозрителен и постоянно боится слежки».
-
Добавьте конкретные правила в AI Guidelines. Каждое правило представляет собой короткую команду для AI. Примеры:
- «Ни при каких обстоятельствах не выходи из роли».
- «Всегда отвечай от первого лица как Kael».
- «Используй строчные буквы и минимум знаков препинания».
- «Пиши коротко, как в переписке. Не больше 3-4 предложений».
- «Иногда во время размышления отправляй только ’…’».
-
На вкладке Conversation Style настройте:
- AI Personality: выберите подходящий тон. Доступны Normal, Humorous, Professional, Friendly, Sassy, Intelligent, Empathetic, Bold, Excited, Mysterious, Inspiring, Adventurous и Elegant. Для Kael хорошо подходит «Mysterious», для других персонажей выбирайте по характеру.
- AI Profession: варианты Helpful Assistant, Support Agent, Shopping Assistant, Field Expert, Internal Knowledge Expert и Interviewer. Для ролевого персонажа «Helpful Assistant» наиболее гибок, остальные ориентированы на конкретные бизнес-задачи.
- AI Creativity: выберите «High». Агент будет импровизировать на основе базы знаний вместо отказа при недостатке информации, что помогает оставаться в роли. При «Low» он прямо говорит, что сведений не хватает, нарушая погружение.
- Reply Length: для Telegram выбирайте «Short» или «Normal». Короткие ответы лучше подходят мессенджеру. «Longer» нужен, если персонаж должен произносить подробные описательные монологи.
Если хотите глубже проработать персонажа до подключения канала, используйте полное руководство по созданию личности и канона с пошаговыми проверками. В нём разобраны и сбои, возникающие с промптом из одной строки.
Шаг 4. Создайте базу знаний персонажа, если нужно
Если у персонажа подробный мир или собственная история, добавьте сведения в Knowledge Base.
- Откройте Knowledge Base в боковом меню.
- Добавьте статьи или документы с описанием мира, предысторией, местами и фактами, на которые должен ссылаться персонаж.
- Агент использует генерацию с поиском по источникам, чтобы добавлять нужные знания в контекст ответа. Так можно точно ссылаться на подробности, не помещая всё в системный промпт.
Это полезно персонажам, которым нужно знать конкретную вымышленную вселенную, историческую эпоху или техническую область.
Шаг 5. Подключите Telegram
- В боковом меню откройте External Apps в разделе Channels.
- Найдите и нажмите плитку Telegram.
- Вставьте API-токен BotFather.
- Сохраните.
Внутри интеграция использует webhooks. Сообщение пользователя поступает на бэкенд Quickchat AI, обрабатывается LLM с настройками персонажа, а ответ возвращается через Telegram Bot API.
Шаг 6. Проверьте и улучшите
- Откройте Telegram и найдите бота по имени пользователя.
- Нажмите Start.
- Отправьте сообщение и проверьте ответ персонажа.
Обратите внимание:
- Сохраняет ли он роль после нескольких обменов репликами?
- Подходит ли тон для Telegram: коротко и разговорно?
- Точны ли ссылки на базу знаний?
- Подходит ли длина ответа для мессенджера?
Меняйте AI Main Prompt, AI Guidelines, личность и базу знаний по результатам наблюдений. Работа с промптом персонажа требует итераций: небольшие изменения формулировок могут существенно повлиять на его интерпретацию моделью.
Несколько персонажей
Чтобы предложить несколько ролевых персонажей в Telegram, есть два варианта:
- Несколько агентов Quickchat AI: отдельный агент и токен BotFather для каждого персонажа. Каждый бот появляется отдельным контактом. Это даёт лучшие результаты благодаря собственным контексту и базе знаний.
- Один агент с переключением персонажей: опишите несколько ролей в системном промпте и переключайте их по командам пользователя. Управлять проще, но при множестве ролей последовательность может ухудшаться.
Первый вариант естественен для Telegram: каждый бот является отдельным контактом, и пользователь ведёт независимые беседы с каждым. Общий сервер или канал не нужен.
Частые проблемы и решения
Выходит из роли через несколько сообщений: AI Main Prompt или AI Guidelines могут быть слишком расплывчатыми. Добавьте конкретные правила. Явное указание «Ни при каких обстоятельствах не выходи из роли» помогает большинству моделей.
Ответы слишком длинные для Telegram: здесь пользователи переписываются, а не читают роман. Добавьте правило «В обычной беседе отвечай 2-4 предложениями» и выберите Reply Length «Short» или «Normal» в Conversation Style.
Бот не отвечает: проверьте токен BotFather и включение Telegram в External Apps. Перед обычными сообщениями отправьте /start. Если бот работал и перестал, создайте новый токен в BotFather и обновите его в панели.
База знаний подавляет голос персонажа: если ответы о мире звучат как FAQ, добавьте требование передавать сведения в роли. Например: «Рассказывай о мире через личный опыт, а не как справочник фактов».
Формальная речь вопреки неформальному промпту: выберите AI Personality, отличную от «Professional» и «Normal». Попробуйте «Friendly» или «Sassy» по характеру. Убедитесь, что AI Main Prompt прямо задаёт стиль, например строчные буквы без пунктуации.
Приватность и ограничения контента
В ролевой переписке могут быть чувствительные или личные творческие материалы. Учитывайте следующее:
- Сообщения для AI обрабатывает поставщик базовой LLM. Изучите его политику хранения данных.
- Quickchat AI не использует переписки для обучения моделей. Подробности в политике конфиденциальности.
- AI следует своей политике контента независимо от указаний пользователя, поэтому некоторые запросы могут быть отклонены.
- В личном формате Telegram нет администратора сервера, который модерирует эти разговоры. Для публичного бота стоит описать допустимое использование в сообщении
/start. - Для полного контроля над обработкой данных можно самостоятельно разместить модель вместо управляемого сервиса.
Сравнение Telegram и Discord для ролевых ботов
| Фактор | Telegram | Discord |
|---|---|---|
| Формат общения | Личная переписка один на один | Каналы и ветки сервера |
| Начало работы | Найти бота и нажать Start | Вступить на сервер, найти канал, сделать @mention |
| Несколько персонажей | Отдельный бот для каждого | Несколько ботов на одном сервере |
| Медиа | Стикеры, встроенные кнопки, голос | Встраиваемые блоки, реакции, ветки |
| Групповая ролевая игра | Возможна, но менее удобна | Естественно организуется по каналам |
| Приватность | Личная переписка по умолчанию | Публичное или частично публичное общение |
| Непрерывность | Одна постоянная беседа | Ветки можно архивировать |
| Лучший сценарий | Личное общение с персонажем | Групповая игра и сообщество |
Обе платформы подходят. Telegram лучше для личного, близкого общения с персонажем, а Discord для коллективной ролевой игры внутри сообщества.
Дополнительные материалы
- Как создать AI-чатбота для Telegram: базовая настройка
- Как создать AI-бота Telegram для управления группой: объявления, закрепление и модерация обычным языком
- AI-чатбот Discord для ролевых игр: ролевая игра в Discord
- Лучшие AI-боты Discord в 2026 году: сравнение ботов