koya бот что делает
Команды для управления ботом Koya в Дискорде
Koya bot в discord – мощный бот для дискорда, обладающий широким функционалом. Бот способен помочь в модерации на сервере, изменении профилей. Назначению новых ролей, а также позволит пользователям провести время за играми. Также большой список команд позволяет проводить различные настройки бота.
Главные функции и возможности
Koya bot является многофункциональным ботом с большими возможностями.
Koya bot разнообразит общение на сервере, и поможет пользователям. Koya bot доступен на французском, английском, португальском, испанском и бразильском языках.
Как скачать и добавить бота
Для того, чтобы установить бота на сервер дискорда, нужно выполнить несколько простых действий. Однако следует помнить, что добавлять и активировать бота на сервере может только тот, кто обладает правами администратора.
Алгоритм действий по добавлению Koya bot на сервер:
Выполнив эти действия, пользователь увидит бота в списке участников. Если бот пропал, не нужно его удалять и устанавливать новый – нужно проверить, находится ли он «В сети». Значок «в сети» указывает на то, что бот активен и установка получилась.
Настройка бота и отключение
Бот самостоятельно выбирает себе роль, однако, в случае необходимости, это можно с делать вручную, перейдя в настройки сервера. Помимо назначения роли бота, от имени администратора ему нужно дать разрешение на выполнение всех действий.
Чтобы назначить роль боту, нужно:
Назначать роли может только тот пользователь, у кого есть права администратора.
Если бот надоел или же стал работать с ошибками, его можно удалить.
Для того, чтобы удалить бота, нужно выполнить следующие действия:
Настройка и отключение бота не занимают много времени.
Команды управления ботом
Список команд для koya bot в discord:
Список команд, с помощью которых можно запускать отдельные функции бота, постепенно увеличивается.
Бот koya в дискорд позволит пользователям хорошо провести время. Он предоставляет различные возможности как для проведения досуга, так и для творчества. Он подойдет для использования на тематических серверах, и поможет администрации, выполняя функции модератора. С помощью этого бота можно украсить любой сервер и тематическое сообщество.
Koya бот что делает
Описание: Показывает создателей этого бота.
Алиасы: owners / owner
Примеры:
+authors +owners +owner
Модуль: Основное
Команда config
Описание: Посмотреть текущие настройки бота.
Модуль: Основное
Команда help
Описание: Помощь и все команды бота.
Алиасы: h
Использование: +help [Модуль/Команда]
Примеры:
+help embed — Посмотреть информацию о команде embed. +help invite — Посмотреть информацию о команде invite. +help help — Посмотреть информацию о команде help. +help Модерация — Посмотреть информацию о модуле «Модерация». +help — Посмотреть информацию о всех командах.
Модуль: Основное
Команда invite
Описание: Пригласить бота и другие ссылки.
Алиасы: i / inv
Примеры:
+invite +inv
Модуль: Основное
Команда ping
Описание: Пинг всех шардов бота.
Модуль: Основное
Команда prime
Описание: PRIME подписка, её подробности, активация и работоспособность.
Использование: +prime [list/аdd/remove/info/payments] [ID/Страница]
Примеры:
+prime — Посмотреть бонусы, и проверить состояние подписки. +prime list — Посмотреть список Ваших PRIME серверов. +prime add — Выдать текущему серверу PRIME. +prime add 564403545273663489 — Выдать серверу с ID 564403545273663489 PRIME слот. +prime remove — Вернуть у текущего сервера PRIME слот. +prime remove 564403545273663489 — Вернуть у сервера с ID 564403545273663489 PRIME слот. +prime info — Посмотреть состояние подписки, доступные слоты и другую информацию. +prime payments — Посмотреть все платежи.
Бот Discord: как создать и добавить на сервер
Чтобы подключить бота Discord в ваше приложение, вам понадобятся токен бота (для настройки модуля) и ID канала, в который вы будете отправлять сообщения (для формы отправки).
Расскажем, как создать сервер, канал и бота Discord, а после добавить созданного бота на ваш сервер. О том, как настроить отправку сообщений на платформе AppMaster.io, можно прочитать в этой статье.
Для начала вам нужно создать новый сервер в Discord (или получить права администратора на уже существующем). Откройте страницу вашей учетной записи Discord в браузере — так будет удобнее перемещаться между страницами настроек.
1. Нажмите на «+» на левой панели.
2. Выберите шаблон сервера в зависимости от вашей сферы или создайте собственный.
3. Укажите, для каких целей хотите его использовать.
4. Выберите изображение будущего сервера и укажите его название (1), затем нажмите Create. (2).
5. Сервер создан. По умолчанию в него уже добавлены два канала — текстовый и голосовой (1). Чтобы изменить настройки канала, нажмите значок шестеренки (2). Добавить новый канал можно, нажав на «+» рядом с названием раздела. Мы не будем создавать новый канал и для подключения нашего бота используем уже существующий канал general.
6. Теперь нужно получить ID выбранного канала. Для этого нужно сначала включить режим разработчика в настройках вашего профиля. Нажмите на значок шестеренки рядом с вашим никнеймом и фотографией.
7. Перейдите в раздел APP SETTINGS, на вкладку Advanced (1) и переместите селектор Developer mode — режим разработчика активируется (2).
8. Вернитесь из меню настроек и кликните по нужному каналу правой клавишей мыши (1), во всплывающем меню выберите Copy ID — идентификатор вашего канала будет скопирован (2). Сохраните его в любом текстовом документе, чтобы не возвращаться к этому шагу.
Чтобы создать бота, перейдите на специальную страницу Discord для разработчиков: https://discord.com/developers/. Откройте ее в соседней вкладке браузера, не выходя из вашей учетной записи Discord.
Сначала вам нужно создать приложение, затем в этом приложении создать бота и настроить для него разрешения, и только после этого — добавлять бота на сервер.
1. На вкладке Applications выберите New Application.
2. Введите название будущего приложения (1) и нажмите Create (2).
3. Приложение создано. Перейдите не вкладку Bot (1) и нажмите Add Bot, чтобы добавить нового бота.
4. Согласитесь добавить бота в ваше приложение.
5. Бот создан. На вкладке Bot отобразится вся информация о нем. Тут можно изменить его имя, добавить изображение и скопировать токен бота (1). Этот токен понадобится вам для настройки модуля Discord на платформе Appmaster.i. Каждый раз при внесении изменений портал разработчика будет предлагать вам сохранить их (2).
Сохраните токен бота, чтобы при последующей настройке не возвращаться к этому шагу.
6. Теперь перейдите на вкладку OAuth2 (1) — тут можно настроить разрешения и получить ссылку на вашего бота. В разделе SCOPES выберите bot(2), в BOT PERMISSIONS отметьте разрешения, которые хотите ему предоставить, в нашем случае — только отправка сообщений, поэтому выберите Send Message(3). После скопируйте автоматически сгенерированную Discord ссылку(4).
7. Вставьте скопированную ссылку в адресную строку браузера и перейдите по ней — откроется окошко вашего приложения. Выберите ваш сервер в раскрывающемся списке (1) и нажмите Continue (2).
8. Убедитесь, что приложению (а значит, и созданному в нем боту) даны только необходимые разрешения, после чего добавьте его на ваш сервер.
9. Теперь вернитесь на ваш сервер. Бот оставил приветственное сообщение — значит, что он успешно добавлен и функционирует.
Итак, все готово. Вы получили токен бота для модуля Discord и ID канала для формы отправки сообщения. Теперь перейдите в AppMaster.io Studio и настройте отправку сообщений из вашего приложения, следуя инструкции Модуль Discord: подключение бота и отправка сообщений.
Следите за нашим блогом и присоединяйтесь к чату комьюнити, чтобы узнавать о новостях платформы и новых статьях.
Подробнее о том, что такое модули и как их настраивать — в обучающем видеокурсе AppMaster.io 101.
Что делать если мне написали вот это:
Я не знаю как это исправить но лучше проверь сохранен ли токен не генерировал ли ты его снова если регенирировал снова скопируй
как сделать так что бы он был в сети
Лучше скачай BDFD там запусти его за просмотр рекламы
Реклама = 2 часа
Капча = 30 минут
я вроде сделал все как надо, как узнать на какую команду, скажем так «откликается» бот?
Я сделал всё что было задано создал новый сервер вставил сыллку на приглашение вставлял айди канала ничего не даёт
Банк России планирует протестировать обмен новой формы денег — цифрового рубля — на иностранную валюту, а также возможность открытия кошельков с цифровыми рублями клиентам-нерезидентам. Об этом сообщается в проекте основных направлений цифровизации финансового рынка на период 2022–2024 годов.
Развитие личного бренда часто звучит как очевидно полезная деятельность. Два года я делился знаниями в разных каналах, накопил небольшую статистику и теперь могу рассказать так ли это.
Это не волшебная история о том, как всё было плохо, а потом, благодаря нашей слаженной работе, всё стало прекрасно, и заявки с заказами полились рекой, а клиент начал купаться в миллионной выручке. Эта история о том, как иногда приходится много и кропотливо работать, чтобы получить небольшое улучшение, положительно влияющее на выручку клиента.
Чат-боты: для чего нужны и как создать. Гайд для тех, кто ещё не разобрался
Как создать чат-бота самостоятельно, без программистов? Когда нужно привлекать разработчиков? Разбираемся вместе с экспертами.
Lefgo / Pexels / Colowgee для Skillbox Media
Пользователи любят общаться с компаниями через мессенджеры. Платформа Twilio опросила шесть тысяч человек и выяснила, что 85% из них хотели бы иметь возможность связаться с поддержкой через сообщения. По последним данным, 56% клиентов предпочтут мессенджер звонку на горячую линию, а 51% ожидают от компании моментального ответа в любое время суток.
К 2022 году 80% запросов будут обрабатывать чат-боты, предсказывает CNBC. Этот прогноз не удивляет. Для пользователей чат-боты — это круглосуточная поддержка и быстрые ответы на вопросы. Для бизнеса это рост продаж и обслуживание клиентов без затрат на операторов.
Эта статья для тех, кто ещё не включил чат-ботов в свой инструментарий. В ней мы разберём:
Пишет про технологии и бизнес.
Что такое чат-боты и зачем они нужны
Хотя слово «чат-боты» знакомо каждому маркетологу, их часто путают с другими инструментами, а ещё приписывают им ложные функции. Разберём, какие цели текстовые боты решают в бизнесе, в какие интерфейсы их внедряют, а также что они делать не умеют.
Чат-бот — это автоматическая система для общения с пользователями. Другими словами, это алгоритм, робот, который помогает клиентам решать различные задачи. Например, сделать заказ в интернет-магазине.
Вот примеры их стандартных функций: напомнить об акции, принять заявку, помочь сделать заказ, отменить запись к врачу, подтвердить доставку, записать ответы пользователя, классифицировать лид и отправить информацию в CRM.
Чат-ботов можно встретить в разных интерфейсах:
Их не стоит путать с рассылками и информационными каналами. Чат-бот «общается» с пользователем, отвечает на его вопросы. Рассылки просто дают информацию, ничего не спрашивая и не реагируя на запросы читателей. Если рассылку отправляют через чат-бота, то он сможет ответить на вопросы и перейти к диалогу с пользователем.
Боты могут использовать не только текст, но и голос или комбинацию текста и голоса. Однако в этой статье мы говорим о чат-ботах, общающихся текстом. Голосовой помощник — это тема для отдельного материала.
В бизнесе чат-боты решают две большие группы задач:
О чат-ботах есть несколько ложных представлений. Они не могут полностью заменить человека: некоторые задачи алгоритмы закрывают сами, но для других они подключают операторов. Чат-ботов также не используют для рассылок спама незнакомым контактам. Кроме того, автоматические алгоритмы в мессенджерах не могут полностью заменить систему продаж: сайт всё равно нужен.
Насколько эффективны чат-боты? Open Rate сообщений в мессенджерах — 90%. Для сравнения, у email-писем похожего содержания показатель составляет 20–30%. В мессенджерах выше Click Rate и скорость ответа. В среднем это 90 секунд для чат-ботов против 90 минут для email.
Робот стоит на первой линии поддержки, он может забрать на себя 50% и более обращений, говорит директор платформы для разработки голосовых и текстовых роботов Ziax, эксперт курса «Мессенджер-маркетинг» Роман Милованов. По его словам, это касается типовых обращений, которые не требуют уникального подхода к клиенту. Чат-боты избавляют операторов от рутины — это снижает и затраты, которые можно посчитать в FTE, и косвенные издержки, которые трудно подсчитать.
Роман Милованов приводит и другие примеры использования чат-ботов. Их используют в HR для ответов на запросы сотрудников. Или во внутренних техподдержках: чат-боты заводят заявки, отслеживают статусы, бронируют переговорные комнаты. Тем не менее в этой статье мы говорим о ботах для маркетинга.
Конструкторы vs разработчики
Чат-боты различаются по сложности. Есть простые алгоритмы — они могут вывести информацию по запросу или ответить на вопросы пользователя, если те входят в базу данных. Если ответа в базе нет, робот перенаправляет к менеджеру. Таких ботов часто собирают самостоятельно с помощью конструкторов.
Сложные чат-боты умеют запоминать ответы пользователей и учиться на них. Для работы таких чат-ботов нужен искусственный интеллект, и, как правило, их заказывают у разработчиков. Есть версии конструкторов с ИИ, однако мнения на их счёт разделились: некоторые уверяют, что результат всё равно будет хуже, чем при индивидуальной разработке.
Разработку чат-бота не всегда стоит начинать с поиска исполнителя, считает геймификатор и продакт-менеджер Александр Дученчук. По его словам, сначала нужно смоделировать решение. Это удобно делать на онлайн-досках для майндкарт — например, Miro или Lucidchart.
Простой чат-бот: как сделать с помощью конструктора
Конструкторы стоят в среднем 10 долларов за одного бота в месяц. Есть и бесплатные, и более дорогие сервисы. У некоторых конструкторов стоимость зависит от числа пользователей или сложности диалогов.
Самостоятельное создание чат-бота можно условно разделить на пять этапов.
Этап 1. Определите, где будет находиться чат-бот
Это мессенджер, диалоговое окно на сайте, отдельная страница. На российском рынке наиболее популярны мессенджер социальной сети «ВКонтакте» и WhatsApp — многие начинают внедрение чат-ботов именно с них.
Этап 2. Опишите цели чат-бота
К какому действию он должен подвести пользователя? Примеры: получить информацию, оформить заказ на товар, добавить товар в лист ожидания. Возможно, алгоритм должен сообщить пользователю о скидках, акциях, появлении товара на складе, ответить на вопросы.
Чтобы ответить на первые два вопроса плана, нужно проанализировать аудиторию. Нужно определить, откуда приходят клиенты, какие вопросы они задают, что их интересует, где и как они предпочитают коммуницировать с вашими менеджерами, почему уходят.
Этап 3. Спроектируйте чат-бота
Нужно определить логику алгоритма и последовательность действий. Итоговую структуру можно описать в виде последовательной (блочной, или древовидной) схемы сообщений.
На этом этапе нужно обратить внимание на то, в каком тоне чат-бот общается с клиентами. Сервис доставки еды и похоронное бюро будут использовать разные стили. Текстовые сообщения можно дополнить кнопками, смайликами, анимацией и иллюстрациями.
Этап 4. Выберите конструктор чат-бота
На рынке есть как англоязычные, так и русскоязычные сервисы. Конструкторы различаются набором функций, возможностью интеграций и тем, для каких платформ они создают чат-ботов. Вам нужно подобрать подходящий в зависимости от ваших задач.
Приведём некоторые примеры:
У Facebook Messenger, Slack и Telegram есть собственные платформы для создания ботов. Они бесплатные, но несколько сложнее классических коммерческих конструкторов.
Для общения с пользователем чат-бот должен откуда-то брать данные: о заказах, товарах, статусе доставки и так далее. Для этого алгоритм интегрируют со сторонними сервисами, которые хранят такие данные. Это, например, «Мой склад», «Google Таблицы», «Google Календарь», Bitrix24 или даже Instagram. При выборе конструктора нужно учитывать, что он должен работать с сервисом, которым пользуетесь вы.
Также боту может потребоваться интеграция с бэкенд-системами, чтобы он мог подключиться к нужному мессенджеру. Если вы раньше этим не занимались, то лучше взять конструктор, в котором ничего из сторонних сервисов подключать не нужно.
Ещё следует обратить внимание:
Этап 5. Откорректируйте бота после тестового периода
Когда бот проработает хотя бы месяц, попробуйте его улучшить. Для этого:
Сложный чат-бот: как заказать у программистов
Хотя новичок может справиться с созданием чат-бота, профессиональные лингвисты и программисты сделают робота намного лучше. Так считает Роман Милованов из Ziax. По его словам, это также будет быстрее. В этом разделе мы разберём, сколько может стоить разработка бота, где искать подрядчиков и что нужно учесть при создании ТЗ.
Сколько может стоить создание бота
Час разработки в этом сегменте в среднем стоит от 800 до 2500 рублей. Итоговая цена проекта будет зависеть от сложности, в том числе от того, нужны ли функции ИИ. Самого простого бота можно заказать у фрилансера от 10 тысяч рублей; цена хорошего чат-бота для компании будет находиться в ветке 100–300 тысяч рублей.
Цены на чат-ботов в агентствах, которые на них специализируются, начинаются от 40 тысяч рублей, а в веб-студиях — от 120 тысяч.
Стоимость также зависит от платформы, для которой нужен чат-бот. Самые дешёвые — это роботы для Facebook, Telegram, Viber и сайтов. В них для создания диалогов можно использовать уже существующий интерфейс. Сложнее сделать робота для WhatsApp или SMS — цена может быть больше в пять раз.
Где искать исполнителя
Способы поиска в целом не отличаются от того, как компании ищут квалифицированных сотрудников на другую проектную работу.
Александр Дученчук рекомендует руководствоваться следующим принципом. Фрилансеры подходят для несложных линейных чат-ботов, а разработчиков сложных технологических роботов лучше искать в профильных агентствах или через сайты поиска работы.
Обязательно нужно проверить на собеседовании, работал ли исполнитель с нужными вам технологиями. Это могут быть технологии обработки естественного языка (NLP), распознавания человеческой речи (Voice Recognition, Text-to-Speech и Speech-to-Text). На изучение этих инструментов уйдёт слишком много времени, отмечает Дученчук.
Для разработки сложных чат-ботов можно применять разные языки, поэтому, если у вас уже есть в стеке, например, Python, можно не усложнять и написать чат-бота на нём, заключает Дукенчук.
Как составить ТЗ и выяснить точную стоимость?
Чтобы правильно составить ТЗ и выставить прайс, посмотрите похожие предложения и проанализируйте, какие требования там изложены, какие сроки и цены. После этого:
Как узнать больше
Если вас интересует продвижение бизнеса в мессенджерах в целом, то вот здесь мы рассказываем о маркетинге в WhatsApp, здесь — о массовых рассылках во «ВКонтакте» от имени группы, а здесь — о подключении чат-ботов к таргетированной рекламе.
О необычном способе использовать чат-бота можно прочитать в статье «Как в „Газпром нефти“ развивают эмоциональный интеллект с помощью чат-бота».
Сервисы, которые позволяют решить задачу без программирования или с минимальным привлечением программиста. Например, конструкторы сайтов.
Всё, о чём должен знать разработчик Телеграм-ботов
Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй «как я создал такого-то бота» и туториалов вроде «как создать бота, который будет говорить hello world». При этом многие неочевидные моменты просто нигде не описаны.
Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?
Подробный гайд о том, как работать с ботами — под катом.
Начало работы
Telegram API vs Telegram Bot API
Рассказываю по порядку.
Телеграм использует собственный протокол шифрования MTProto. MTProto API (он же Telegram API) — это API, через который ваше приложение Телеграм связывается с сервером. Telegram API полностью открыт, так что любой разработчик может написать свой клиент мессенджера.
Для написания ботов был создан Telegram Bot API — надстройка над Telegram API. Перевод с официального сайта:
Чтобы использовать Bot API, вам не нужно ничего знать о том, как работает протокол шифрования MTProto — наш вспомогательный сервер будет сам обрабатывать все шифрование и связь с Telegram API. Вы соединяетесь с сервером через простой HTTPS-интерфейс, который предоставляет простую версию Telegram API.
Среди упрощений Bot API: работа через вебхуки, упрощенная разметка сообщений и прочее.
Почему-то мало кто знает о том, что боты могут работать напрямую через Telegram API. Более того, таким образом можно даже обойти некоторые ограничения, которые даёт Bot API.
Вся информация ниже будет по умолчанию относиться и к Bot API, и к Telegram API. О различиях я буду упоминать. От некоторых ограничений Bot API можно избавиться с помощью локального сервера, об этом в конце статьи.
На чём пишут Телеграм-ботов
Бот должен уметь отправлять запросы Телеграм-серверу и получать от него апдейты (updates, обновления).
Как получать апдейты в Bot API
Получать апдейты можно одним из двух способов:
Поллинг — просто регулярно отправлять запрос к серверу Телеграма для получения обновлений,
Вебхук — сделать так, чтобы Телеграм сам отправлял запросы по нужному URL.
Конечно, удобнее использовать библиотеки, чем делать http-запросы «руками».
Если вы попробуете загуглить, как написать Телеграм-бота на Python, вам предложат воспользоваться библиотеками python-telegram-bot и telebot. Но не стоит.
Ну, если вы только хотите познакомиться с разработкой ботов и написать своего hello-world-бота, то можете, конечно использовать и их. Но эти библиотеки могут далеко не всё. Среди разработчиков ботов лучшей библиотекой для ботов на Python считается aiogram. Она асинхронная, использует декораторы и содержит удобные инструменты для разработки. Ещё был хороший Rocketgram, но он давно не обновлялся.
Также ботов часто пишут на JavaScript, для этого обычно используется Telegraf. Библиотеки есть и для многих других языков, но используют их реже.
Если же вы хотите использовать Telegram API, то можете воспользоваться Python’овскими Telethon и Pyrogram.
Если вы хотите получить какое-то представление о том, как вообще выглядит код бота, вот вам пример использования на aiogram с его странички на GitHub:
Этот бот будет отвечать на команды /start и и /restart.
Создание бота
Один пользователь может создать до 20 ботов.
Юзернеймы
При создании бота нужно выбрать юзернейм. После этого поменять его будет очень сложно.
Как поменять юзернейм бота
Если у вас есть бот, и вы хотите дать ему более короткий юзернейм (который может быть занят неработающим ботом), то вы, теоретически, можете это сделать через @BotSupport.
Для этого бот должен (внезапно) быть рабочим, а также поддерживать английский язык.
Принято использовать такой формат обращения в поддержку:
Если вы везунчик 9999 lvl — вам ответят.
Юзернейм бота выглядит как обычный юзернейм, но он должен заканчиваться на «bot».
Вы могли видеть ботов с именами @pic, @vid, @sticker, @gamee — это официальные боты Телеграма. Им можно нарушать все правила 🙂
Очень многие юзернеймы уже заняты. Свободных коротких юзернеймов осталось очень мало. И что самое грустное: почти все эти боты мертвы. Просто не отвечают на сообщения. Наверное, это просто разные любопытные люди хотят сделать бота, создают его, а потом забивают. У меня самого есть несколько лежащих ботов. Так что, думаю, лимит в 20 ботов на одного владельца вполне оправдан 🙂
Оформление бота
Открыв бота, пользователи могут увидеть его профиль.
Описание (Description) — это текст, который пользователи будут видеть в начале диалога с ботом под заголовком «Что может делать этот бот?»
Информация (About) — это текст, который будет виден в профиле бота.
Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.
Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах ниже.
Inline Placeholder — об инлайн-режиме см. ниже.
Стандартный совет: Потратьте свое время и заполните описание и информацию бота, чтобы пользователям было понятнее и проще его использовать. Можете оставить там свои контакты. И поставьте аватарку, чтобы бота было проще отличать от других чатов в списке.
Сообщения и чаты
Запуск бота пользователем
Таким образом, первое сообщение от пользователя — это всегда /start (либо /start с параметрами, об этом ниже в разделе «Диплинки»).
. если пользователь использует официальный клиент
На стороне сервера это не проверяется, поэтому теоретически пользователь может отправить боту любое сообщение через Telegram API.
Сообщения
Понятно, что главная функция бота — отправлять и получать сообщения.
И то, и другое можно делать со всеми видами сообщений (фото и видео, файлы, опросы, голосовые сообщения и т. д.).
В Телеграме можно делиться файлами до 2 ГБ, но в Bot API более жесткие лимиты: боты могут скачивать файлы до 20 МБ и отправлять файлы до 50 МБ.
Работа с файлами в Bot API
Если бот уже загрузил файл на сервер Телеграма, то он может использовать file_id, чтобы отправлять этот файл.
Загружать файл на сервер можно в том числе и по URL файла.
Куда может писать бот
Бот может писать в личку только тем пользователям, которые его запустили. Пользователь может заблокировать бота, и тогда бот снова не сможет ему писать.
Боты не могут писать другим ботам.
Бота можно добавить в группу (если в BotFather включена соответствующая настройка). По умолчанию он видит не все сообщения (об этом ниже, в разделе «Видимость сообщений в группах»).
В группе боту можно дать права администратора, чтобы он мог выполнять действия админов.
В одной группе может быть до 20 ботов. В публичные группы (группы с юзернеймом) ботов могут добавлять только админы.
Также бота можно добавить в канал, причем только как администратора. Самый частый способ использования ботов в каналах — добавление кнопок под постами («лайки», ссылки и прочее).
Как боты добавляют кнопки
У админа канала может быть специальное право: «Редактирование чужих публикаций». С помощью него боты редактируют посты, добавляя к ним кнопки.
Подробнее о кнопках тоже ниже.
Супергруппы
На самом деле многие группы в Телеграме являются супергруппами.
Почему так? Раньше было четкое разделение на группы и супергруппы. По задумке, супергруппы — это группы для сообществ. Супергруппы могут иметь больше участников, публичные ссылки и другие плюшки.
Со временем, видимо, решили, что это неудобная концепция. Теперь обычная группа становится супергруппой, когда у группы меняются какие-нибудь настройки (подробнее тут). Вот такой костыль.
В этой статье под группами я подразумеваю и супергруппы, и обычные группы.
Супергруппу нельзя обратно превратить в группу. С точки зрения API супергруппа устроена так же, как и канал. Важное отличие супергрупп от обычных групп состоит в нумерации сообщений: о нём чуть ниже.
id пользователей и чатов
У каждого пользователя, бота, группы, канала в Телеграме есть собственный id. Различать чаты в коде бота следует именно по id, потому что он никогда не меняется.
id сообщений
Каждое сообщение в Телеграме имеет свой id. Это относится и к системным сообщениям (пользователь зашел в группу, изменилось название группы и т. д.)
Через Telegram API боты могут получать по запросу сообщения в любом чате по их id.
id сообщений в супергруппах и каналах уникальны для чата: первое сообщение в чате имеет номер 1, второе имеет номер 2 и так далее.
id сообщений в личных сообщениях и обычных группах работают по другому. Там, можно сказать, нумерация сквозная: id сообщения уникально для каждого отправившего его пользователя. Так, первое сообщение от пользователя во всех личках и группах имеет номер 1, второе сообщение от того же пользователя имеет номер 2 и так далее.
Видимость сообщений в группах
Обычно бот должен реагировать именно на команды. Телеграм не уведомляет бота об остальных сообщениях, и это гарантирует приватность переписки.
Но если боту нужно видеть все сообщения в группе (например, если это чат-бот или антиспам-бот), для него можно отключить Privacy mode.
Privacy mode — настройка в BotFather, которая по умолчанию включена. В таком режиме бот в группах видит только такие сообщения:
Сообщения с упоминанием бота,
Ответы на сообщение бота, ответы на ответы и так далее,
Команды — о них в следующем пункте.
А если Privacy mode выключен, то бот видит все сообщения в группе.
Если бот — админ в группе, то он в любом случае видит все сообщения.
Бот, работающий через Bot API, в любом случае не будет видеть сообщения от других ботов.
Бот видит не все сообщения Я включил Privacy mode, а он не работает
Нужно удалить бота из группы и добавить заново.
Недавно был найден баг: боты не могли видеть некоторые сообщения от юзеров, если сообщения выглядят как команды с юзернеймом пользователя на конце.
Это могло нарушить работу антиспам- и других ботов.
Сейчас баг уже исправлен.
Команды
Часто используемый способ «общения» пользователей с ботом — команды. Команды начинаются на «/» и состоят из латинских букв (можно использовать цифры и нижние подчеркивания).
Команды подсвечиваются как ссылки: нажатие отправляет команду в чат.
В BotFather можно указать подсказки команд для бота. Он будут отображаться при вводе «/» и команд. Если есть подсказки, рядом с кнопкой «Отправить» появляется кнопка для открытия меню команд.
Разметка сообщений
Как вы, наверное, знаете, сообщения в Телеграме могут содержать не только обычный текст, но и жирный, курсив и др. В Bot API разметку сообщений можно делать в HTML и Markdown.
Разметка в Telegram API
В Telegram API для разметки надо вместе с сообщением передавать entities (MessageEntityBold, MessageEntityItalic и так далее). Хорошие библиотеки сами превращают HTML/Markdown в текст и entities.
Способы выделения текста:
Жирный текст
Моноширинный текст («в строке» и «блоком»)
Упоминание пользователя — текст, похожий на ссылку, клик по которому открывает профиль пользователя. Если упомянуть в группе её участника, он получит уведомление.
Чтобы вставить в сообщение упоминание пользователя, в Bot API нужно встроить ссылку на tg://user?id=123456789.
Кнопки
Инлайн-кнопки
Бот может оставлять кнопки под своими сообщениями.
Кнопки под сообщениями (они же inline keyboards / inline buttons) в основном бывают трёх видов:
URL button — кнопка с ссылкой.
Callback button. При нажатии на такую кнопку боту придёт апдейт. С созданием кнопки можно указать параметр, который будет указан в этом апдейте (до 64 байтов). Обычно после нажатий на такие кнопки боты изменяют исходное сообщение или показывают notification или alert.
Switch to inline button. Кнопка для переключения в инлайн-режим (об инлайн-режиме см. ниже). Кнопка может открывать инлайн в том же чате или открывать меню для выбора чата. Можно указать в кнопке запрос, который появится рядом с никнеймом бота при нажатии на кнопку.
Дополнительные виды кнопок
Login URL button — специальная кнопка для авторизации пользователей на сайте. Использовалась, например, в официальном боте @discussbot (до добавления нативных комментариев в Телеграм).
Callback game button — кнопка для открытия HTML-игры. См. пункт «HTML-игры».
Pay button — кнопка для платежей. См. пункт «Платежи через ботов».
Клавиатурные кнопки
Есть другой тип кнопок: keyboard buttons. Они отображаются вместо клавиатуры как подсказки. При нажатии на такую кнопку пользователь просто отправит этот текст.
При этом в личных чатах с помощью кнопки можно:
Запросить номер телефона пользователя,
Запросить геолокацию пользователя,
Открыть у пользователя меню создания опроса.
Есть опция resize_keyboard, которая отвечает за то, изменять ли высоту этой «клавиатуры из кнопок». По умолчанию она, почему-то, выключена, и тогда высота клавиатуры стандартная большая. Получаются кнопки как на этой картинке:
Чтобы показать клавиатурные кнопки, бот должен отправить сообщение. Можно отправить клавиатуру, которая свернётся (но не пропадёт) после нажатия на кнопку.
По умолчанию, если показать кнопки в группе, они будут видны всем пользователям. Вместо этого можно отобразить кнопки одновременно для этих пользователей:
Для пользователей, юзернеймы которых были в тексте сообщения,
Если это ответ на другое сообщение: для пользователя, который его отправил.
Ещё о кнопках
Оба типа кнопок могут составлять несколько рядов, в каждом из которых по несколько кнопок. Ограничения: в ряду может быть до 8 кнопок, а всего с сообщением до 100 кнопок.
При отправке сообщения можно выбрать одно (но не больше) из следующих действий:
Добавить к сообщению инлайн-кнопки,
Показать клавиатурные кнопки,
Убрать все клавиатурные кнопки,
Force reply: автоматически заставить пользователя ответить на сообщение. Так произойдёт то же самое, что и при нажатии пользователем кнопки «Ответить». Это нужно для того, чтобы бот мог общаться с пользователями в группах, не нарушая Privacy mode.
Таким образом, нельзя показать оба типа кнопок одновременно.
Взаимодействие с ботом
Ссылки на бота
Юзернеймы ботов работают так же, как и любые другие юзернеймы в Телеграме: бота @examplebot можно открыть по ссылке t.me/examplebot.
Также существует прямая ссылка: tg://resolve?domain=examplebot
Подробнее о ссылках tg://
Такие ссылки могут не только заменять ссылки t.me, но и задавать свои действия. Например, tg://settings открывает настройки.
Список известных таких ссылок есть канале @DeepLink.
Ссылка на добавление в группу
По ссылке t.me/examplebot?startgroup=true у пользователя откроется меню: выбор группы для добавления бота.
Прямая ссылка: tg://resolve?domain=examplebot&startgroup=true
Диплинки
По ссылке t.me/examplebot?start= пользователь может запустить бота с каким-то стартовым параметром ( ).
При переходе по ссылке бот открывается как обычно.
Отображается кнопка «Запустить», даже если пользователь уже запускал бота.
Пользователь нажимает на кнопку и видит сообщение /start (всё как обычно).
Боту вместо этого приходит сообщение /start
Так бот может отреагировать на запуск не как на обычный «/start», а другим способом.
Часто диплинки используются для реферальных программ (в качестве параметра можно передавать id пользователя, который поделился ссылкой). Есть и другие применения.
Прямая ссылка: tg://resolve?domain=examplebot&start=
Инлайн-режим
Инлайн-режим (inline mode) — это специальный режим работы бота, с помощью которого пользователь может использовать бота во всех чатах.
Выглядит это так: пользователь вводит юзернейм бота в поле для ввода сообщения. После юзернейма можно ещё записать запрос (текст до 256 символов).
Появляется менюшка с результатами. Выбирая результат, пользователь отправляет сообщение.
Инлайн-режим можно включить в BotFather, там же можно выбрать плейсхолдер вместо стандартного «Search. «
В группе можно запретить использовать инлайн всем или некоторым участникам. В официальных приложениях Телеграм это ограничение объединено с ограничением на отправку стикеров и GIF.
Результаты инлайн-режима
Результаты можно отображать двумя способами:
Сеткой. Удобно для выдачи картинок.
Вертикальным списком. Удобно для выдачи текста.
Можно совмещать два типа, но корректно отображается это только на Telegram Desktop.
Приватность и геопозиция в инлайне
Когда пользователь вызывает инлайн-режим, бот не может получить никакую информацию о контексте, кроме информации о пользователе. Таким образом, бот не может узнать ни чат, в котором вызвали инлайн, ни сообщение, на которое пользователь отвечает.
Но зато если включить в BotFather настройку «Inline Location Data», то бот сможет видеть геопозицию пользователей, когда они используют инлайн (на мобильных устройствах). Перед этим у пользователей показывается предупреждение.
Inline feedback
Inline feedback — это апдейты о выбранных инлайн-результатах. Включаются через BotFather.
Предполагается использование inline feedback для сбора статистики, но не всегда он используется так. Inline feedback позволяет «подгружать» не все результаты сразу, а только выбранный. Например, если бот используется для поиска музыки, то он может загружать не все песни сразу, а только одну.
Важный момент: если вы получили апдейт об отправке инлайн-сообщения, то вы можете его редактировать, только если к нему прикреплены инлайн-кнопки. (Если кнопок нет, то в апдейте не указывается id инлайн-сообщения, по которому происходит редактирование).
Создание наборов стикеров
Боты (и только боты!) могут создавать наборы стикеров. При этом каждый набор стикеров должен принадлежать какому-то пользователю. Посмотреть свои наборы стикеров пользователь может с помощью бота @Stickers.
Платежи через ботов
Телеграм предоставляет ботам возможность принимать платежи от пользователей. Это делается через провайдеров ЮMoney, Сбербанк, Stripe и ещё 7.
Эта возможность используются редко, потому что для использования провайдеров нужно юридическое лицо.
UPD 26.04.2021. В новом обновлении появилось больше возможностей платежей для разработчиков. Теперь боты могут отправлять платежи не только в лс, но и в группы и в каналы. Это позволяет сделать из канала «витрину», на которой можно сразу купить товар. Вы можете посмотреть, как это выглядит, в официальном демо-канале.
HTML-игры в ботах
Боты могут позволять пользователям играть в HTML5-игры в чатах. Бот может отправлять сообщения-игры или создавать их через инлайн-режим. Как это работает, можно посмотреть на примере официального @gamebot.
Telegram Login Widget
Вы можете добавить на свой сайт авторизацию через Телеграм. Процесс авторизации будет проходить так:
Пользователь должен будет ввести свой номер телефона.
Бот Telegram попросит подтвердить вход.
Пользователь авторизуется и нажимает на «Принять» на сайте.
Telegram Login Widget не связан с Login URL button (см. раздел про кнопки выше), а является его альтернативой.
Разработка ботов
Какие апдейты можно получать
Бот не может получить старые сообщения из чата. Бот не может получить список всех своих пользователей. Все, что может получать бот — это информацию об обновлениях. В этом заключается главная сложность разработки ботов.
Вы можете получать информацию о новых сообщениях в боте и других событиях, но только один раз. Вам придётся самим хранить список чатов, старых сообщений (если это зачем-то нужно) и так далее. Если вы случайно сотрёте/потеряете эту информацию, вы её больше никак не получите.
В Telegram API бот может чуточку больше: он может получать сообщения по id, получать список участников группы и прочее.
Получение апдейтов: Bot API vs Telegram API
Если вы получили апдейт в Bot API, то второй раз вы его уже не получите.
В Telegram API это не так: пользователь может пользоваться мессенджером через несколько клиентов, каждый из которых должен получать апдейты.
Если запустить для одного бота несколько программ на Telegram API, то каждая из них будет получать все апдейты.
Ограничения Bot API не позволяют сделать то же самое.
Лимиты
Конечно, на запросы к серверу существуют лимиты. В Bots FAQ на сайте Telegram названы следующие:
Не больше одного сообщения в секунду в один чат,
Не больше 30 сообщений в секунду вообще,
Не больше 20 сообщений в минуту в одну группу.
Эти лимиты не строгие, а примерные. Лимиты могут быть увеличены для больших ботов через поддержку.
Другие известные ограничения в Telegram собраны на limits.tginfo.me — см. раздел про ботов.
Рассылка по пользователям
Ниже в Bots FAQ сказано, что Bot API не позволяет рассылать сообщения всем юзерам одновременно и что в будущем, может быть, они что-то для этого сделают. И написано это уже несколько лет.
Они советуют растянуть рассылку на длительное время (8-12 часов) и замечают, что API не позволит отправлять сообщения более чем
30 пользователям в секунду.
Смена владельца бота
Осенью 2020 года появилась возможность передавать ботов другому человеку. Это можно сделать в настройках бота в BotFather. Для этого на вашем аккаунте должна быть включена двухфакторная авторизация — не менее, чем за 7 дней до передачи. Передать бота можно только пользователю, который что-либо ему писал.
Локальный сервер Bot API
Также осенью 2020 года исходники Bot API выложили на GitHub. Теперь вы можете поднять собственный сервер Bot API. На GitHub перечислены следующие преимущества:
Скачивание файлов с сервера без ограничения (ограничение на отправку файлов пользователями в Телеграме — 2 ГБ),
Загрузка файлов на сервер до 2000 МБ,
Загрузка файлов на сервер с помощью локального пути и URI файла,
Использование HTTP URL для вебхука,
Использование любого локального IP-адреса для вебхука,
Использование любого порта для вебхука,
Возможность увеличить максимальное число соединений до 100000,
Получение локального пути файла вместо загрузки файла с сервера.
Юзерботы
В начале статьи я рассказывал о том, что такое Telegram API и Telegram Bot API.
Telegram API используется не только для ботов — тогда в чём проблема управлять аккаунтами пользователей, как ботами? Люди это делают. Кто-то автоматически ставит текущее время себе на аватарку, кто-то скриптом реагирует на свои сообщения как на команды, кто-то сохраняет сообщения из публичных групп и каналов. Всё это называют юзерботами.
Юзерботов следует использовать аккуратно: за большую подозрительную активность аккаунт могут ограничить или забанить.
Заключение
Я постарался собрать в одном месте и структурировать информацию о всех возможностях Телеграм-ботов. Большое спасибо vanutp, NToneE и Grinrill за помощь с фактами. Если мы что-то забыли — пишите, исправлю.
Я специально не разделял большую статью на несколько постов, чтобы можно было быстро найти нужную информацию. К тому же, в начале статьи есть её содержание. Так что можете сохранить её к себе и использовать как справочник 🙂
Вообще интерфейс бота (то есть интерфейс чата) имеет много ограничений. Но плохо ли это? Действительно удобнее использовать инструмент, когда это часть привычной среды. Я часто прямо в переписке нахожу нужную картинку или информацию с помощью инлайн-ботов. Как заядлый пользователь Телеграма, я люблю использовать ботов. И создаю ботов. И вы создавайте.