AI-боты для ролевых игр в Telegram: как они работают и как создать своего

Jakub Swistak
Опубликовано Обновлено Время чтения: 8 мин
Интерфейс Telegram с ролевой беседой с AI-ботом

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 получает этот промпт и недавнюю историю переписки, после чего создаёт ответ от лица персонажа. Качество ролевого общения зависит от трёх факторов:

  1. Качество системного промпта: насколько подробно и последовательно описан персонаж
  2. Управление контекстным окном: какую часть истории видит модель
  3. Возможности модели: насколько хорошо LLM создаёт творческий текст и сохраняет характер персонажа

Telegram Bot API

Ботов Telegram создают через @BotFather, который выдаёт API-токен. Всё взаимодействие вашего бэкенда с Telegram проходит через HTTPS-запросы к https://api.telegram.org/bot<token>/.

Получать входящие сообщения можно двумя способами:

СпособКак работаетДля чего подходит
Long pollingСервер регулярно вызывает getUpdates и проверяет новые сообщенияРазработка и простое развёртывание
WebhooksTelegram отправляет 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 независимо от длины разговора.

Если вы создаёте собственное решение, рассмотрите такие функции:

  1. Суммаризация разговора: периодически создавайте краткое содержание и включайте его в контекст. Так сохраняются важные события и развитие персонажа без полной истории.
  2. Извлечение ключевых событий: храните повороты сюжета и решения персонажа в структурированном виде и добавляйте их в каждый промпт.
  3. Память по просьбе пользователя: разрешите просить бота «запомнить» конкретные факты, которые будут храниться отдельно и всегда попадать в контекст.

Выбор модели для ролевых игр

LLM по-разному подходят для этой задачи. Основные факторы:

Качество художественного текста: модели, дообученные на прозе и диалогах, чаще создают естественную речь персонажа. Обычные модели для выполнения инструкций нередко возвращаются к тону услужливого помощника, нарушая погружение.

Размер контекстного окна: длинное окно позволяет помнить больше без дополнительных приёмов суммаризации. На начало 2026 года большинство передовых моделей поддерживают не менее 128 тысяч токенов, но эффективность использования контекста различается.

Следование инструкциям: модель должна последовательно выполнять системный промпт. Если через несколько реплик она выходит из роли, ролевой диалог разваливается. Модели с хорошим следованием инструкциям, например GPT-4o, Claude 3.5 Sonnet и Llama 3.1 70B и выше, обычно справляются лучше.

Политика контента: размещённые у провайдера API применяют фильтры, которые могут запрещать подробное насилие, хоррор и другую мрачную художественную прозу. Для таких тем можно рассмотреть собственное размещение модели или API-провайдера с более разрешительной политикой.

МодельКонтекстное окноПригодность для ролевого общенияДоступ
GPT-4o128 тысяч токеновХороший творческий текст и следование инструкциямOpenAI API
Claude 3.5 Sonnet200 тысяч токеновОтлично сохраняет голос персонажаAnthropic API
Llama 3.1 70B128 тысяч токеновХороша после дообучения, есть варианты без цензурыСобственное размещение или API-провайдеры
Mixtral 8x22B64 тысячи токеновНеплохая художественная проза при низкой стоимостиСобственное размещение или 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

  1. Откройте Telegram и найдите @BotFather.
  2. Отправьте /start, затем /newbot.
  3. BotFather попросит отображаемое имя и имя пользователя. Последнее должно заканчиваться на bot, например kael_rogue_ai_bot.
  4. BotFather выдаст API-токен. Скопируйте его. Формат примерно такой: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz.

Храните токен в секрете: любой, у кого он есть, может управлять ботом.

Шаг 2. Создайте AI-агента

  1. Войдите в панель Quickchat AI.
  2. Создайте нового AI Agent или выберите существующего.

Шаг 3. Опишите персонажа

В боковом меню откройте Identity, затем вкладку Profile.

  1. В AI Agent Name укажите имя персонажа, например «Kael».

  2. Заполните AI Main Prompt: короткое описание того, кто персонаж и о чём говорит. Например: «Kael является беглым AI из исследовательской лаборатории. Он пишет пользователю с украденного телефона короткими, тревожными фразами. Он подозрителен и постоянно боится слежки».

  3. Добавьте конкретные правила в AI Guidelines. Каждое правило представляет собой короткую команду для AI. Примеры:

    • «Ни при каких обстоятельствах не выходи из роли».
    • «Всегда отвечай от первого лица как Kael».
    • «Используй строчные буквы и минимум знаков препинания».
    • «Пиши коротко, как в переписке. Не больше 3-4 предложений».
    • «Иногда во время размышления отправляй только ’…’».
  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.

  1. Откройте Knowledge Base в боковом меню.
  2. Добавьте статьи или документы с описанием мира, предысторией, местами и фактами, на которые должен ссылаться персонаж.
  3. Агент использует генерацию с поиском по источникам, чтобы добавлять нужные знания в контекст ответа. Так можно точно ссылаться на подробности, не помещая всё в системный промпт.

Это полезно персонажам, которым нужно знать конкретную вымышленную вселенную, историческую эпоху или техническую область.

Шаг 5. Подключите Telegram

  1. В боковом меню откройте External Apps в разделе Channels.
  2. Найдите и нажмите плитку Telegram.
  3. Вставьте API-токен BotFather.
  4. Сохраните.

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

Шаг 6. Проверьте и улучшите

  1. Откройте Telegram и найдите бота по имени пользователя.
  2. Нажмите Start.
  3. Отправьте сообщение и проверьте ответ персонажа.

Обратите внимание:

  • Сохраняет ли он роль после нескольких обменов репликами?
  • Подходит ли тон для Telegram: коротко и разговорно?
  • Точны ли ссылки на базу знаний?
  • Подходит ли длина ответа для мессенджера?

Меняйте AI Main Prompt, AI Guidelines, личность и базу знаний по результатам наблюдений. Работа с промптом персонажа требует итераций: небольшие изменения формулировок могут существенно повлиять на его интерпретацию моделью.

Несколько персонажей

Чтобы предложить несколько ролевых персонажей в Telegram, есть два варианта:

  1. Несколько агентов Quickchat AI: отдельный агент и токен BotFather для каждого персонажа. Каждый бот появляется отдельным контактом. Это даёт лучшие результаты благодаря собственным контексту и базе знаний.
  2. Один агент с переключением персонажей: опишите несколько ролей в системном промпте и переключайте их по командам пользователя. Управлять проще, но при множестве ролей последовательность может ухудшаться.

Первый вариант естественен для 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 для ролевых ботов

ФакторTelegramDiscord
Формат общенияЛичная переписка один на одинКаналы и ветки сервера
Начало работыНайти бота и нажать StartВступить на сервер, найти канал, сделать @mention
Несколько персонажейОтдельный бот для каждогоНесколько ботов на одном сервере
МедиаСтикеры, встроенные кнопки, голосВстраиваемые блоки, реакции, ветки
Групповая ролевая играВозможна, но менее удобнаЕстественно организуется по каналам
ПриватностьЛичная переписка по умолчаниюПубличное или частично публичное общение
НепрерывностьОдна постоянная беседаВетки можно архивировать
Лучший сценарийЛичное общение с персонажемГрупповая игра и сообщество

Обе платформы подходят. Telegram лучше для личного, близкого общения с персонажем, а Discord для коллективной ролевой игры внутри сообщества.

Дополнительные материалы