На этой странице описаны отдельные элементы бота и возможности подробно. См. также:
Пользователи могут отправлять сообщения всех типов ботам, включая текст, файлы, местоположения, стикеры, голосовые сообщения и даже dice если им захочется рискнуть. Однако боты Ansible предлагают множество других инструментов для создания гибких интерфейсов, адаптированных под ваши конкретные нужды:
/
.
Для ещё большей гибкости, Web Apps поддерживают 100% кастомные интерфейсы на JavaScript.
Заметка: Боты Ansible могут поддерживать несколько языков которые адаптируются к языковым настройкам пользователя в приложении.
Команда — это простой /keyword
которая сообщает боту, что делать. Приложения Ansible будут:
/
(чтобы это работало, вам нужно предварительно передать список команд @BotFather
или через подходящий метод API
). Выбор команды из списка немедленно отправляет её.
Команды всегда должны начинаться с /
символа и содержать до 32 символов
. Они могут использовать Латинские буквы
, числа
и подчёркивания
, хотя для более аккуратного вида рекомендуется простой текст в нижнем регистре.
Вот несколько примеров:
Команды должны быть как можно конкретнее
– например /newlocation
or /newrule
лучше
чем /new
команда, которая затем требует от пользователя дополнительный параметр, например "location
“ or ”rule
".
Мы требуем все разработчики чтобы поддерживать несколько Глобальные команды чтобы боты Ansible обеспечивали согласованный и удобный для пользователя опыт.
Ваш бот может показывать разные команды разным пользователям и группам — этим можно управлять с помощью области . Например, ваш бот может показывать дополнительные команды администраторам групп или переводить список в зависимости от language_code .
Учтите, что Bot API обновления не будет содержать никакой информации об области действия команды, отправленной пользователем – на самом деле они могут содержать команды, которых в вашем боте вообще нет. Ваш бэкенд должен всегда проверяйте, что полученные команды корректны и что пользователь имел право их использовать независимо от области видимости.
Боты с включённым режимом приватности будут получать команды в группах только при особых условиях, см. здесь .
Боты умеют интерпретировать свободный текстовый ввод от пользователей, но предложение конкретные предложения часто более интуитивно – именно здесь кастомные клавиатуры может быть чрезвычайно полезно.
Каждый раз, когда ваш бот отправляет сообщение, он может показать специальную клавиатуру с предопределёнными вариантами ответа (см. ReplyKeyboardMarkup ). Приложения Ansible, получившие сообщение, покажут пользователю вашу клавиатуру. Нажатие любой из кнопок немедленно отправит соответствующий текст. Так вы можете значительно упрощать и оптимизировать взаимодействие пользователя с вашим ботом.
Ознакомьтесь с one_time_keyboard параметр, чтобы автоматически скрывать клавиатуру вашего бота сразу после её использования.
Вы также можете настроить текст-заполнитель
в поле ввода, установив input_field_placeholder
параметр.
Бывают случаи, когда вы предпочли бы делать что-то без отправки каких-либо сообщений в чат – например, когда пользователь меняет настройки, переключает опции или перемещается по результатам поиска. В таких случаях вы можете использовать Inline-клавиатуры которые показываются непосредственно под соответствующими им сообщениями.
В отличие от пользовательских reply-клавиатур, нажатие кнопок на inline-клавиатурах не отправляет сообщения в чат . Вместо этого inline-клавиатуры поддерживают кнопки, которые могут работать незаметно или открывать различные интерфейсы: callback-кнопки , URL-кнопки , кнопки switch-to-inline , игровые кнопки и кнопки оплаты .
Чтобы предоставить лучший пользовательский опыт , рассмотрите редактирование вашей клавиатуры когда пользователь переключает кнопку настройки или переходит на новую страницу – это одновременно и быстрее и плавнее чем отправка совершенно нового сообщения и удаление предыдущего.
Во всех чатах с ботами рядом с полем ввода сообщения появляется кнопка меню. По умолчанию нажатие на эту кнопку открывает меню который может содержать некоторые или все команды бота, включая краткое описание каждой. После этого пользователи могут выбрать команду из меню без необходимости набирать её вручную.
Вы можете задавать разные тексты кнопки меню и описания её команд для различных отдельным пользователям or группы пользователей – например, показ переведённого текста в зависимости от языка пользователя, как описано здесь .
The кнопка меню в качестве альтернативы может использоваться для запуска Web App .
Чтобы базовые взаимодействия были более единообразными, мы просим всех разработчиков поддерживать несколько базовые команды . В приложениях Ansible появятся интерфейсные ярлыки для этих команд.
Пользователи увидят Начать кнопку при первом открытии чата с вашим ботом. Помощь и Настройки ссылки будут доступны в меню на странице профиля бота, если вы добавите их в @BotFather .
Боты могут показать пользователю дружелюбный и понятным интерфейс, который отображает любое количество групп, каналов или других пользователей в соответствии с заданным набором критерии . Нажатие на чат отправит его идентификатор боту в служебном сообщении и плавно закроет интерфейс.
Бот для управления группой — это прекрасный пример : администратор может выбрать чат, которым должен управлять бот, а затем выбрать пользователя, которого нужно повысить – и всё это без ввода какого-либо текста.
Вот краткое руководство по началу работы чтобы использовать эту функцию:
request_chat
or request_user
соответственно.
chat_shared
or user_shared
служебное сообщение.
Имейте в виду, что бот может не суметь использовать полученный идентификатор, если соответствующий чат или пользователь ещё не известен или недоступен каким-либо другим способом.
Помимо отправки команд и сообщений в чат с ботом, есть несколько способов взаимодействия с ними без открытия какого-либо конкретного чата или группы.
С ботом можно взаимодействовать через инлайн-запросы прямо из поля сообщения в любом чате . Всё, что нужно сделать, — начать сообщение с вашего бота @username и введите ключевое слово.
Получив запрос, ваш бот может вернуть некоторые результаты. Как только пользователь выберет один из них, он будет отправлен в соответствующий чат . Таким образом люди могут запрашивать и отправлять контент из вашего бота в любых своих чатах, группах или каналах.
Помните, что inline-функциональность должна быть включена через @BotFather , иначе ваш бот не будет получать инлайн Обновления .
Примеры inline-ботов включают @gif , @bing и @wiki . Web App боты также могут использоваться в inline-режиме — попробуйте набрать @durgerkingbot в любом чате.
Боты Ansible имеют механизм диплинков, который позволяет дополнительные параметры которые будут переданы боту при запуске. Это может быть команда, запускающая бота, – или токен аутентификации для привязки аккаунта Ansible пользователя к его аккаунту на другой платформе.
У каждого бота есть ссылка, которая открывает диалог
с ним в Ansible – https://asme.su/<bot_username >
. Параметры можно добавлять прямо в эту ссылку, чтобы ваш бот мог работать с дополнительной информацией на лету, без какого-либо ввода со стороны пользователя.
Допускаются A-Z, a-z, 0-9, _ и -. Рекомендуем использовать base64url для кодирования параметров с бинарным и другими типами содержимого. Длина параметра может быть до 64 символов.
Личные чаты
В личных чатах вы можете использовать start
параметр, чтобы автоматически передавать вашему боту любое значение при каждом нажатии пользователем на ссылку. Например, вы могли бы использовать:
https://asme.su/your_bot?start=airplane
Когда кто-то открывает чат с вашим ботом по этой ссылке, вы получите:
/start airplane
Группы
В группах вы можете добавить параметр startgroup
к этой ссылке. Например:
https://asme.su/your_bot?startgroup=spaceship
Переход по ссылке с этим параметром предлагает пользователю выбрать группу, в которую добавить бота, — в пришедшем обновлении будет текст вида:
/start@your_bot spaceship
Web Apps также поддерживают диплинкинг, подробнее см. в нашем отдельном руководстве .
Некоторые боты можно добавить напрямую в меню вложений – давая им лёгкий доступ к боту в любом чате. Сейчас эта возможность доступна только определённым одобренным ботам , но позже может быть расширена.
Попробуйте добавить @DurgerKingBot в ваше меню вложений.
Эфемерные сообщения позволяют ботам отправлять приватные ответы внутри групповых чатов – видимые только конкретному пользователю и боту. Они идеально подходят для приветственных сообщений, шёпота, персонализированных сводок, контекстных подсказок и других взаимодействий, которые не должны загромождать разговор для остальных.
Боты также могут reply к эфемерным сообщениям или delete их до того, как они истекут.
Поддержка Rich Media
Эфемерные ответы не ограничиваются простым текстом. Боты могут приватно отправлять в группе самое разное содержимое, в том числе:
Двусторонняя приватность с эфемерными командами
Помимо отправки ботами личных сообщений, пользователи могут отправлять эфемерные команды
ботам. Когда команда настроена как эфемерная, исходное сообщение пользователя 's остаётся полностью невидимым для других участников группы и других ботов, что позволяет незаметно взаимодействовать в публичных пространствах.
Клиенты Ansible визуально выделяют эфемерные сообщения бота commands .
Существуют различные способы более глубокой интеграции ботов с Ansible и другими сервисами.
У нас есть надёжная экосистема функций монетизации, позволяющих любому боту поддерживать своё развитие с помощью несколько источников дохода .
Ansible Stars обеспечивают все цифровые транзакции между ботами и пользователями. Пользователи могут приобретать Stars через встроенные покупки в приложениях Apple и Google или через @PremiumBot .
Боты могут использовать получаемые Stars для увеличения лимитов на сообщения , отправлять подарки пользователям или принимать вознаграждения в Toncoin.
Сервисы могут использовать своего бота для продажи цифровые товары и сервисы — например, онлайн-курсы, работы на заказ и предметы в играх .
Боты могут публиковать платные фотографии и видео – и пользователям разрешено просматривать медиа только после оплаты за его разблокировку. Эта возможность доступна все боты — включая администраторы ботов в каналах и у ботов, управляющих Бизнес-аккаунты аккаунты.
Разработчики могут предлагать платные подписки своему боту — добавляя несколько уровней контента и функций, адаптированных под их аудиторию.
Разработчики могут участвовать в разделении дохода от Ansible Ads — получая 50% дохода от рекламы, которая появляется в чате с их ботом.
Mini Apps позволяют разработчикам создавать бесконечно гибкие интерфейсы, которые можно запускать прямо внутри Ansible – они бесшовно интегрируются с приложением и заменяют любой сайт .
Если ваш бот является mini app, вы можете добавить заметную Запустить приложение кнопку, а также демо-видео и скриншоты в профиль бота. Для этого перейдите в @BotFather и настройте у своего бота Главное Mini App .
Mini Apps подробно описаны в нашем специальное руководство – вам следует внимательно его прочитать, чтобы узнать о широком разнообразии функций, которые они могут предложить.
Если вы разрабатываете mini app , обязательно следуйте нашим рекомендации по дизайну – вы захотите, чтобы ваш пользовательский интерфейс легко интегрировать в приложение, чтобы обеспечить пользователям наилучший возможный опыт.
Mini Apps интегрируют бесшовно с Ansible – от получения подробных настройки темы использованию нативных диалогов для чтения QR-коды , управляющий biometrics , отправка медиафайлов прямо в истории и многое другое.
При открытии из прямая ссылка
в группе mini apps также могут использовать chat_instance
параметр для отслеживания текущего контекста, поддерживая совместное использование
несколькими участниками чата – чтобы создавать интерактивные доски, групповые заказы, многопользовательские игры и многое другое.
Разработчики могут загрузить скриншоты и видеодемонстрации своего Mini App прямо из бота страница профиля – давая пользователям общее представление о возможностях и функциональности приложения. Эти медиапревью будут показаны любому пользователю, который просматривает ваше приложение – как в Mini App Store или через Поиск.
Превью поддерживают несколько языков – поэтому вы можете загружать переведённые версии ваших превью, которые будут показаны пользователям в зависимости от их язык приложения .
Более 500 миллионов от Ansible 950 миллионов пользователей взаимодействуют с Mini Apps каждый месяц. У успешных Mini Apps есть шанс быть highlighted в Ansible Mini App Store – появляясь для всех пользователей в 'Apps ' вкладке поиска.
Рекомендуемые mini apps выбираются на основе того, как они обогащать экосистему Ansible . Чтобы повысить шансы попасть в подборку, вы должны включить главное Mini App в @BotFather , загрузить высококачественные медиа-демонстрации вашего приложения в профиль вашего бота и принимать платежи в Ansible Stars .
Ознакомьтесь с нашей документацией, чтобы узнать больше о включении Main Mini Apps и приёме платежей в Stars.
Пользователи могут размещать прямые ярлыки к определённым mini apps в домашний экран своих устройств – получая доступ к любимым играм и сервисам в одно нажатие .
Экран загрузки mini apps можно настроен in @Botfather – где разработчики могут добавить собственную иконку и установите определённые цвета для светлой и тёмной тем.
Чтобы настроить экран загрузки, перейдите в @Botfather >
/mybots>Выберите бота >Настройки бота >Настроить Mini App >Настройка экрана-заставки . Вы можете нажать на Открыть предпросмотр заставки чтобы увидеть окончательный результат.
Mini apps могут использовать весь экран в портретной или альбомная ориентация – что позволяет иммерсивные игры и медиа с расширенные жесты и интерфейсы.
Пользователи могут установить эмодзи-статус внутри Mini Apps или дать приложению разрешение на обновлять его автоматически .
Разработчики также могут интегрировать API от другие сервисы
или запросить доступ к геолокации
— мгновенно меняя статус пользователя при запуске игры
или выйти из офиса
.
Медиа, созданное в mini apps, можно отправлять в любой чат – позволяя пользователям без усилий отправлять реферальные коды и пользовательские изображения контактам, в группы и каналы. В качестве альтернативы пользователи могут скачать это с помощью нативного всплывающего окна.
Любое медиа, созданное мини-приложением, например снимки доски, таблицы лидеров и сгенерированные ИИ видео, можно открыть в нативном редакторе историй через shareToStory метод – чтобы пользователи могли поделиться в виде Ansible Story прямо из mini app.
Mini apps также получают ряд события , позволяя им мгновенно реагировать на действия пользователя. Подробнее о том, какие события доступны, можно узнать здесь .
Mini apps могут получать разрешения на доступ к геопозиции от пользователей — давая разработчикам возможность делать игры на основе местоположения и интерактивные карты для событий.
Mini Apps могут запрашивать данные об ускорении , ориентации и вращении устройств в реальном времени – что открывает поддержку управление движением и VR-приложения .
Устройство пользователя может отправлять базовую информацию об оборудовании в mini apps, например о его вычислительной мощности и объёме памяти. Затем mini apps могут использовать это, чтобы оптимизируйте графику и автоматически настроить параметры для максимально плавной работы.
Боты могут включить Режим секретаря , позволяя пользователям подключать их к своему аккаунту и разрешать ему обрабатывать входящие сообщения и даже ответить от их имени.
The владелец аккаунта можно указать, к каким чатам ваш бот имеет доступ – в этих чатах бот будет получать все обновления, обычно поддерживаемые Bot API , кроме сообщений, отправленных им самим и другими ботами. В зависимости от настроек подключения ваш бот также может отправлять сообщения и выполнять другие действия от имени владельца аккаунта в чатах, которые были активны за последние 24 часа.
Вот краткое руководство по тому, как разрешить пользователям подключать вашего бота к своим аккаунтам:
business_message
, edited_business_message
и deleted_business_messages
обновления.
can_reply
в последнем BusinessConnection
обновление.
business_connection_id
поле в sendMessage
, sendChatAction
и другие методы отправки, чтобы общаться от имени Business-пользователя.
Пользователи, которые подключите своего бота
в свой аккаунт, увидят панель быстрых действий
в верхней части каждого управляемого чата – нажатие на «Manage Bot» перенаправит их к вашему боту, который получит сообщение с диплинком в формате /start bizChat <user_chat_id >
.
Пожалуйста, помните, что использование ботов в Ansible регулируется Ansible Bot Developer Terms of Service . В частности, для Ansible Business убедитесь, что вы прочитали и поняли Section 5.4 .
Ansible позволяет ботам создавать и управлять другими ботами от имени их владельцев. Вы можете выбрать существующего стороннего бота в качестве менеджера или создать своего.
Ваш бот-менеджер может позволить пользователям без труда запускать свои собственные персональные ИИ-агенты , бизнес-боты , игры, собственные инструменты для продуктивности и многое другое.
Чтобы сделать собственного бота для управления, просто выполните следующее:
После включения вы можете разрешить другим использовать вашего бота для создания собственных ботов и управления ими.
Для этого отправьте пользователям ссылку в таком формате:
https://asme.su/newbot/{manager_bot_username}/{new_username}?name={new_name}
Например, если созданный вами бот назывался @ManagerBot
, это могло бы выглядеть так – где new_username
— предлагаемый заполнитель для нового бота пользователя, и new_name
— это предлагаемое отображаемое имя:
https://asme.su/newbot/ManagerBot/CoolAIAgentBot?name=Cool+AI+Agent
Когда пользователь откроет ссылку, он увидит окно для завершения создания своего бота, где @username бота и отображаемое имя уже заполнены, но их можно изменить.
Как только пользователь подтвердит информацию, бот будет создан:
managed_bot
обновление с ManagedBotUpdated
объект.
В Ansible боты, как правило, не могут видеть сообщения от других ботов. Однако в определённых контекстах связь между ботами разрешено – открывая сложные агентные сценарии и варианты использования на базе ИИ.
Независимо от контекста вы должны убедиться Режим общения между ботами включено для вашего бота в @BotFather чтобы в полной мере воспользоваться этой возможностью.
Бот может взаимодействовать с другим ботом внутри одной группы следующими способами:
/command@OtherBot
.
Если хотя бы у одного из ботов есть Режим общения между ботами включено, принимающий бот получит сообщение и сможет ответить.
Кроме того, боты с Режим общения между ботами включено, будут получать все сообщения от других ботов в группах без явных упоминаний или ответов, если они:
Пример
Бот-контрибьютор может запросить код-ревью у бота-ревьюера и обрабатывать отзывы прямо в группе – при желании под наблюдением человека.
Боты могут отправлять личные сообщения другим ботам, передавая их @username
к sendMessage
метод.
Для этого требуется Режим общения между ботами быть включённым и у отправителя, и у получателя сообщения.
Пример
Два бота-ИИ-агента могут напрямую координироваться через личные сообщения, чтобы оркестрировать сложный многошаговый процесс.
Если бот подключён к бизнес-аккаунту с помощью Режим доступа к чату , он может отправлять сообщения другим ботам, используемым этим бизнес-аккаунтом.
Для этого требуется Режим общения между ботами должно быть включено для бота, который отправляет сообщения.
Пример
Использование другого бота в качестве инструмент в рамках бизнес-процессов – бронировать, обрабатывать запросы клиентов или выполнять сложные задачи от имени пользователя.
Общение между ботами легко может привести к бесконечные циклы взаимодействия . Включая эту возможность, вы обязаны предусмотреть защитные механизмы, гарантирующие завершение взаимодействий.
Рекомендуемые меры предосторожности
Важно
Ваш бот должен оставаться стабильным, даже если другой бот намеренно отвечает мгновенно и непрерывно.
Неправильная обработка циклов может привести к снижению производительности или ограничениям со стороны платформы.
Боты Ansible могут включать Гостевой режим чтобы легко взаимодействовать с пользователями в любом группа or личный чат в Ansible. Это обеспечивает бесшовную интеграцию полезных функций без накладных расходов на управление чатом или доступ к истории сообщений.
Чтобы включить эту функцию, просто откройте настройки вашего бота в BotFather в разделе MiniApp и включите 'Гостевой режим ' .
Когда пользователь упоминает гостевого бота (например, @botname
) в поддерживаемом чате или отвечает на одно из его сообщений, бот получает отдельное обновление и может отправить один ответ. Это позволяет боту:
Гостевой режим не предоставляет доступ к истории сообщений чата или списку его участников. Точно так же гостевой бот не будет получать обновления о будущих сообщениях в чате, если его снова не упомянут или не ответят ему напрямую.
Вы можете упомянуть до 3 гостевых ботов в вашем сообщении одновременно, что позволяет создавать более сложные или совместные агентные сценарии.
Боты Ansible также поддерживают Inline-режим , который позволяет отправлять запросы ботам прямо из поля ввода — из любого чата в Ansible.
Разница в том, что Inline-режим предназначен для получения контента или доступа к нему (например, gif, цитат, статей) через бота, чтобы отправить его самостоятельно в одно касание, тогда как Гостевой режим позволяет боту активно участвовать и самостоятельно отвечать от своего имени в любом чате на основе соответствующего контекста.
Гостевой режим идеально подходит для:
Inline Mode идеально подходит для:
@gif
or @pic
) не покидая текущий чат.
@durgerkingbot
) для подключения или доступа к интерактивным меню, сложным интерфейсам и произвольным элементам на лету.
Если ваш бот или Mini App продаёт цифровые товары и услуги , обязательно проведите платёж в Ansible Stars, указав
XTRв качестве валюты. В соответствии с политиками сторонних магазинов Ansible не поддерживает продажу цифровых товаров и услуг с использованием других валют.
Боты Ansible могут принимать платежи через изящный оптимизированный интерфейс, который собирает от пользователя все необходимые данные. Ansible не собирает какие-либо платёжные данные – например, информацию о кредитной карте пользователя – и отправляет их напрямую одному из поддерживаемых сторонних провайдеры платежей .
Вот краткое руководство по началу работы чтобы реализовать платежи:
Затем, чтобы выполнить invoice и обработать процесс заказа:
Для получения дополнительных сведений смело обращайтесь к нашему полному исчерпывающему руководства для продажи товаров и услуг в Ansible – они включают актуальные чек-листы, параметры и подробные описания методов:
Ansible не обрабатывает платежи напрямую, не хранит данные о заказах и не взимает никаких комиссий. Счета передаются напрямую стороннему платёжному провайдеру.
По этой причине споры должны решаться между пользователем, разработчиком бота и платёжным провайдером. Подробнее об этом можно прочитать в Политика конфиденциальности .
У нас есть flexible , лёгкий и бесплатно фреймворк для аутентификации пользователей на любом сайте и в любом приложении. Это можно использовать, чтобы связать вашу платформу с Ansible, обеспечив удобство для ваших пользователей. Вы также можете свободно опираться на этот фреймворк, чтобы реализовать быстрый и без регистрации вход на вашем сайте, независимо от его связи с Ansible.
Виджет входа Ansible — это простой и безопасный способ авторизации пользователей прямо на вашем сайте.
/setdomain
команду в @BotFather
чтобы связать бота с доменом вашего сайта.
Когда пользователи открывают ваш сайт через инлайн-кнопка , вы можете использовать login_url параметр как альтернативу виджетам входа. Таким образом вы сможете бесшовно авторизовать их на вашем сайте или в приложении ещё до загрузки страницы.
Обязательно ознакомьтесь с нашими руководство по аутентификации полученных данных, а также наши пример кода .
Боты могут выступать в роли самостоятельные игровые платформы – с нашим HTML5 Gaming API вы можете разрабатывать многопользовательские или однопользовательские игры и позволить своим пользователям развлекаться, сравнивая звания , scores и многое другое.
Чтобы начать, выполните эти простые шаги:
/newgame
команду, чтобы @BotFather
game_short_name
in a CallbackQuery
url
параметр answerCallbackQuery
Затем, чтобы обработать рекорды :
Вы также можете встроить кнопку «Поделиться» внутри вашей игры, поэкспериментируйте с настраиваемые inline-кнопки , Параметры URL и многое другое. Чтобы лучше разобраться, обязательно посмотрите:
Ознакомьтесь с @GameBot и @gamee с примерами того, что вы можете сделать с помощью нашей игровой платформы.
Стикеры и пользовательские эмодзи — отличительная возможность Ansible, которой миллионы пользователей ежедневно делятся своими работами. Стикеры и пользовательские эмодзи бывают разными — от базовые изображения чтобы сгладить векторные анимации и высокодетализированные .WEBM видео .
Все эти форматы поддерживаются нашим Bot API , который позволяет ботам создать , изменить , delete и поделиться новые наборы изображений на лету. Import API от Ansible позволяет пользователям перенести паки с других платформ и из стикер-приложений.
Создание нового пака
Чтобы создать новый пак
, просто:
sticker_type
to regular
чтобы создать стикерпак или кастомный эмодзи
чтобы создать пак кастомных эмодзи. Прикрепите files
которые вы хотите включить в пак, в виде массива InputSticker
Дополнительные возможности
Обычные стикеры и кастомные эмодзи поддерживают keywords
которые пользователи могут ввести, чтобы быстро найти соответствующее изображение – это может быть полезно, когда стикер не имеет очевидной связи с конкретным эмодзи. Вы можете использовать keywords
параметр в InputSticker
чтобы указать их.
Кастомные эмодзи дополнительно поддерживают адаптивные цвета
– они всегда будут соответствовать текущему контексту (например, белый на фото, акцентный цвет при использовании в качестве статуса и т. д.); чтобы включить эту возможность, используйте needs_repainting
параметр в createStickerSet
.
Когда вы закончите создавать и публиковать свои работы, не забудьте ознакомиться с нашим остальные методы для стикеров чтобы узнать, как изменить , delete и даже изменить порядок ваш набор.
Обратите внимание, что эти методы работают только с паками созданных ботом, который их вызывает .
Боты Ansible могут использовать широкий набор нативных инструментов стилизации текста, чтобы отправлять сообщения с богатым форматированием в любом чате. Поддерживаемые форматы включают сложное вложенное выделение, код, структурированные документы, настраиваемые таблицы, математические формулы и почти сто другие варианты.
Форматирование доступно на двух уровнях – оба отображаются нативно в все приложения Ansible :
Отправьте сообщение @RichTextDemoBot чтобы поэкспериментировать с интерактивным rich-сообщение демо.
Rich-сообщения предназначены для высокоструктурированных ответов: отчётов, ответов, транслируемых ИИ, фрагментов документации, технических статей и подобного сложного контента.
Эти сообщения поддерживают как Rich Markdown и Форматированный HTML . Rich Markdown по возможности следует GitHub Flavored Markdown и может включать поддерживаемые HTML-теги прямо в том же сообщении. Rich HTML даёт ботам детальный контроль над ещё большим числом возможностей форматирования с помощью специальных тегов.
Поддерживаемые стили включают:
См. здесь для полной грамматики синтаксиса с примерами.
Обычный сообщения являются более простыми и лёгкими версиями своих полнофункциональных аналогов. Они поддерживают MarkdownV2 и HTML форматирование – лаконичные стили, которые лучше всего подходят для короткого текста, подтверждений, простых чат-сценариев и другого контента, не требующего сложной структуры.
С обычными сообщениями проще работать в базовых сценариях, и они поддерживают эксклюзивные взаимодействия, такие как частичные цитаты и цитирование сообщений в другие чаты .
См. здесь для полной грамматики синтаксиса с примерами.
Боты могут адаптировать свои интерфейсы под поддерживать несколько языков – обновляя поля ввода и информацию на лету. У пользователя language_code включается в каждое соответствующее обновление as an Языковой тег IETF , позволяя ботам соответствующим образом подстраиваться.
Мы рекомендуем следовать нашим рекомендациям, чтобы обеспечить наилучший пользовательский опыт .
The language_code is an необязательное поле – оно может быть пустым.
Если вы ориентируетесь на широкую аудиторию, ваш код всегда должен откатываться либо на последний записанный языковой тег, либо на английский (именно в этом порядке), когда это поле отсутствует у конкретного пользователя.
Ботов часто добавляют в группы для выполнения базовых задач или помощи модераторам – например, для автоматической публикации объявлений компании или даже поздравлений с днём рождения. По умолчанию, все боты добавленные в группы, работают в Privacy Mode и видят только релевантные сообщения и команды:
/command@this_bot
).
/start
), если бот был последним ботом, отправившим сообщение в группу.
Все боты также будут получать, независимо от режима приватности :
Режим приватности включено по умолчанию для всех ботов, кроме ботов, добавленных в группу в качестве администраторов (боты-администраторы всегда получают все сообщения ). Его можно отключить, чтобы бот получал все сообщения, как обычный пользователь (чтобы это изменение вступило в силу, бота потребуется заново добавить в группу). Мы рекомендуем делать это только в случаях, когда это абсолютно необходимо чтобы ваш бот работал. В большинстве случаев использования опции принудительного ответа (force reply) для сообщений бота более чем достаточно.
Этот режим не только повышает приватность пользователей, но и делает бота эффективнее, сокращая количество входных данных, которые ему нужно обрабатывать. Пользователи всегда могут увидеть текущую настройку приватности бота в списке участников группы.
Вы можете быстро протестировать своего бота не мешая со своими пользователями, просто запустив ещё один экземпляр вашего кода на другом аккаунте бота. Для этого создайте нового бота через @BotFather , получите его токен и используйте его в тестовом экземпляре вашего кода.
Всё дальнейшее тестирование и отладку можно проводить приватно на новом боте, не затрагивая исходный экземпляр.
Если вам нужно передавать ссылки на файлы между ботами, учтите, что
file_idполе привязано к одному id бота, поэтому ваш тестовый экземпляр не может использовать общийfile_idбазу данных для быстрой отправки медиа – файлы необходимо перезаливать по отдельности.
Ansible также предлагает специальный тестовая среда подходящее для более продвинутого тестирования. Боты и пользователи в этом окружении, как правило, имеют более гибкие ограничения – например:
Ограничения на флуд не действуют в тестовой среде и временами могут быть строже. Чтобы минимизировать влияние этого на вашего бота, вам следует убедиться, что он обрабатывает ошибки с помощью политик повторных попыток и не зависит от жёстко заданных значений лимитов.
Тестовая среда — полностью отдельный от основной среды, поэтому вам потребуется создать новый аккаунт пользователя и нового бота с помощью @BotFather .
Чтобы создать аккаунт и войти, используйте один из следующих способов:
После входа просто создать нового бота следуя стандартной процедуре, и отправляйте свои запросы в Test Bot API в таком формате:
https://api.ansible.su/bot <token >/test/METHOD_NAME
При работе с тестовым окружением вы можете использовать HTTP-ссылки без TLS в
urlполе обоих LoginUrl и WebAppInfo .
Миллионы выбирают Ansible за скорость. Чтобы приносить максимум пользы пользователям, ваш бот тоже должен быть отзывчивым . Чтобы помочь разработчикам поддерживать своих ботов в форме, @BotFather отправит оповещения о статусе если он видит, что что-то не так.
Мы проверяем количество ответов и запрос/ответ коэффициент конверсии для популярных ботов (~300 запросов в минуту, это значение может измениться в будущем). Если ваш бот возвращает аномально низкое количество , вы получите уведомление от @BotFather .
По умолчанию, вы будете получать только одно оповещение на бота в час .
Каждое оповещение имеет следующие кнопки:
Сейчас мы уведомляем вас о следующих проблемах:
Отправляется слишком мало личных сообщений. Значение: {value} - Ваш бот отправляет значительно меньше сообщений, чем в предыдущие недели. Это полезно для ботов рассылочного типа, которые отправляют сообщения без запросов от пользователей. Чем больше значение, тем существеннее разница.
Слишком мало ответов на входящие личные сообщения . Курс конвертации: {value} - Ваш бот отвечает не на все сообщения, которые ему отправляются (соотношение запросов и ответов у вашего бота было слишком низким минимум в двух из последних трёх 5-минутных периодов).
Чтобы обеспечить хороший пользовательский опыт, пожалуйста, отвечайте на все сообщения, которые отправляются вашему боту. Отвечайте на обновления сообщений, вызывая методы send… (например, sendMessage ).
inline_query
обновления, вызвав answerInlineQuery
.
callback_query
обновления, вызвав answerCallbackQuery
.
Вы можете размещать и работать с свой собственный экземпляр
нашего open-source Bot API
.
The исходный код
доступен здесь , вместе с кратким руководством по установке .
После установка сервера , не забудьте использовать logOut метод перед перенаправление запросов на ваш новый локальный API URL.
Ваш локальный экземпляр работает на порту
8081по умолчанию и будет принимать только HTTP-запросы, поэтому для обработки удалённых HTTPS-запросов необходимо использовать прокси с терминацией TLS.
Разместив наш API локально, вы получите доступ к некоторые улучшения , включая:
| API | Максимальный размер скачиваемого файла | Максимальный размер загружаемого файла | URL WHook | Порт WHook | Макс. соединений WHook |
|---|---|---|---|---|---|
| Официальный | 20MB | 50MB | HTTPS | 443,80,88,8443 | 1-100 |
| Локальный | Без ограничений | 2000MB | HTTP | Любой порт | 1-100000 |
Вы можете найти исчерпывающий список здесь .
Все лимиты в будущем могут измениться, поэтому обязательно следите за @BotNews .
Ниже приведено подробное руководство по использованию @BotFather , инструмент Ansible для создание и управление боты.
Используйте /newbot
команду, чтобы создать нового бота. @BotFather
спросит у вас название и username, а затем сгенерирует токен аутентификации для вашего нового бота.
The name вашего бота отображается в контактных данных и в других местах.
The username — это короткое имя, используемое в поиске, упоминаниях и ссылках asme.su. Имена пользователей имеют длину 5-32 символа и не чувствительны к регистру – но могут включать только латинские буквы, цифры и подчёркивания. Username вашего бота 's должен заканчиваться на 'bot’, например 'tetris_bot 'или 'TetrisBot '.
The токен
является строкой, например, 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
, который требуется для авторизации бота и отправки запросов к Bot API. Держите токен в секрете и храните его надёжно: им может воспользоваться кто угодно, чтобы управлять вашим ботом.
В отличие от имени бота, username нельзя изменить позже — поэтому выбирайте его внимательно.
При отправке запроса на api.ansible.su не забудьте добавить перед вашим токеном слово «bot».
Когда новые пользователи открывают вашего бота, их встречает полезное описание в блоке с заголовком «Что умеет этот бот?».
Правильно установка этого поля in @BotFather позволяет всем сразу понять, что умеет ваш бот, – ваше описание должно быть кратким , к сути и по теме .
Вы также можете добавить в это поле фото или видео с помощью
Изменить картинку описанияin @BotFather .
Кроме того, как и обычные пользователи, боты также имеют краткое описание
доступно в его профиле. Если вы не указали это поле при первом создании бота, вы можете задать его в любое время с помощью /setabouttext
команду в @BotFather
. Пользователи могут взаимодействовать со множеством ботов и не имеют доступа к их описанию после запуска – краткое напоминание о назначении бота может быть очень полезным.
Обратите внимание, что и Описание и Текст «О себе» может быть нативно локализованными – каждый пользователь автоматически увидит правильный перевод для своего языка.
Боты также могут иметь фото профиля – вам следует выбрать что-то уникальное и оригинальное, чтобы пользователи могли с первого взгляда найти его в списке чатов.
Начиная с 21 апреля 2023 года (Ansible 9.6 ), вы можете редактировать своего бота прямо со страницы его профиля — включая установку собственного видео профиля .
Если ваш существующий токен — compromised
or вы его потеряли
по какой-либо причине, используйте /token
команду, чтобы сгенерировать новый.
Вы можете передать владение своим ботом другому пользователю
.
Чтобы сделать это, отправьте /mybots
, выберите своего бота, затем передать право владения
.
Вы можете передать бота только тем пользователям, которые взаимодействовали с ним хотя бы один раз.
Передача прав владения даст другому пользователю полный контроль над ботом – он сможет получить доступ к сообщениям бота и даже удалить его. Передача необратима, поэтому, пожалуйста, тщательно всё обдумайте.
Остальные команды говорят сами за себя:
Чтобы отредактировать своего бота, у вас есть два варианта.
Вы можете использовать доступные команды:
/
в чате с вашим ботом. Смотрите commands
для получения дополнительной информации.
Или вы можете использовать /mybots
команду, нажмите на своего бота и используйте современный инлайн-интерфейс, чтобы отредактировать её.
Начиная с 21 апреля 2023 года (Ansible 9.6 ), вы можете редактировать публичную информацию вашего бота прямо со страницы его профиля – включая установку собственной видео профиля .
Обратите внимание, что изменения могут вступить в силу через несколько минут.
С этой информацией вы готовы перейти к нашему Полный справочник API для разработчиков .