Как добавить эффект в сообщение? Как отправить стикер? Как отправить пустое или невидимое сообщение? Всё будет, но сначала узнаем свой chat_id без использования сторонних ботов.
Откройте ТГ и отправьте в свой чат любое сообщение. После этого выполните запрос с методом getUpdates:
https://api.telegram.org/botTOKEN/getUpdates
Если к боту не подключен вебхук, а на наших занятиях мы точно этого не делали, то в случае успешного выполнения запроса в результатах отобразится отправленное сообщение с дополнительными полями. Смотрим значение по пути result/message/chat/id (для приватного чата он совпадает с from/id), которое и есть ID нашего чата. Теперь при помощи бота мы можем отправить себе что-то интересное.
Отправка сообщения с эффектом методом sendMessage
{ "chat_id": 123..., "text":"Cообщение с эффектом", "message_effect_id":5046509860389126442 }
Для не-премиум аккаунтов доступно 6 эффектов:
Если подкинуть в ТГ деньжат за премиум-аккаунт, то станут доступны и другие эффекты.
Отправка стикера sendSticker
В ТГ отправьте в свой чат понравившийся стикер. Выполните после этого метод getUpdates и скопируйте значение поля file_id. У меня он содержит строку "CAACAgIAAx...", которую нужно вставить в параметр
https://api.telegram.org/botTOKEN/sendSticker
{ "chat_id": 123..., "sticker": "CAACAgIAAx..." }
Вишенка готова.
Хотите увидеть чего-то погорячее? Хорошо.
Отправка пустого или невидимого сообщения sendMessage
{ "chat_id": 123..., "text": "" }
Если не получилось, то найдите в символах Юникода невидимый плюс и вставьте его между кавычками в параметр text.
Чувствуете потенциал невидимых символов? Это как раз тот случай, когда их можно использовать либо на благо, либо во вред. Например, может возникнуть мысль сделать своё имя в профиле невидимым на свой страх и риск. За это можно получить бан (поскольку это является нарушение соглашения использования ТГ) и большого смысла в этом нет. Можно поиграть с друзьями в Шерлока Холмса и в сообщениях кодировать невидимые послания. Но есть и более интересное применение, например, пометка невидимым символом правильных ответов, добавив его в текст вопросов для теста. Скажем так: невидимые символы можно использовать в качестве служебных, которые помогают разработчикам реализовать необходимую функциональность более простым образом.
При помощи метода sendDice можно создать простую игру типа "Угадай число или счёт":
{ "chat_id": 123..., "emoji" : "⚽" }
Добавление кнопок к сообщению editMessageReplyMarkup:
{ "chat_id": `123..., "message_id": 456..., "reply_markup": { "inline_keyboard": [ [ { "text": "Дальше", "callback_data" : "next" } ] ] } }
Некоторый навык составления запросов для бота у нас теперь есть и можно перейти к вопросам программирования бота. Какой на ваш взгляд язык программирования для этого лучше использовать?