Как задать команды боту в телеграмме
Перейти к содержимому

Как задать команды боту в телеграмме

  • автор:

TelegramBot. Базовый функционал. Мухи отдельно, котлеты отдельно. (Часть 2)

Продолжаем разрабатывать базовый функционал для бота в телеграм. В предыдущих частях обсуждался момент, что работу бота по получению сообщений, обработке и отправке нужно разделять. Давайте попробуем с помощью базовых инструментов Java Core сделать нашего бота многопоточным и асинхронным. Придумаем ему такое задание, которое занимает очень много времени на обработку. Рассмотрим как работают команды в телеграмме и как их нужно обрабатывать.

Это продолжение первой части статьи по программированию ботов для телеграмм на Java
TelegramBot инструкция по созданию базового функционала для бота. (Часть 1)
Кому интересно дальше, милости прошу под кат…

Сразу скажу, в этой части добавлено сразу много всего и по-тихоньку мы с вами разберем всю ту функциональность, что позволила боту суметь в многопоточность и зачем она ему вообще нужна.

Как обычно с главного:
Весь готовый код по этой статье вы можете найти в ветке Part2-Handlers в гит-репозитории.
Код полностью рабочий, достаточно склонироваться, изменить данные для авторизации бота(имя и токен) и запустить метод main в классе App.class.

Обратите внимание, данный класс при старте бота отправляет уведомление админу бота о том, что бот стартовал. ID админа бота также указывается в классе App.class и если вы его не измените — ваш бот будет пытаться слать сообщения мне 🙂

А дальше по пунктам разберем те изменения, которые появились после выхода первой части.

Обработка команд

Давайте для начала разберемся с таким понятием, что такое вообще команда в системе общения с телеграм ботом. В зависимости от настроек бота, он может либо видеть любые сообщения любого формата либо только специально оформленные команды. В чем отличие и
где можно встретить эти варианты сообщений.

  1. Обычный текст, обычные сообщения.
    В таком виде бот получается сообщения, когда ему пишут в личку. И еще, если в настройках бота режим приватности в группах боту отключают — он начинает видеть полностью все сообщения. Есть же эта настройка включена, то при добавлении в группу бот видит только адресованные ему команды. Как они выглядят — смотрите второй пункт
  2. Специально оформленные команды
    Такие команды всегда начинаются с косой черты: /
    После следует сама команда. Текст команды должен быть без пробелов. Пример:
    /start
    С этой команды любой пользователь всегда начинает общение с вашим ботом. Поэтому по правилам хорошего тона реакцию на эту команду нужно прописывать обязательно.

    Все команды, с которыми умеет работать ваш бот, желательно добавить в список умений в настройках вашего бота. Делается это все в телеграмме с @BotFather.

Вызвав команду /myBots выберите вашего бота и дальше кнопка «Edit Bot»
Вы получите такое окно, где будут показаны все параметры бота и дальше можно настроить весь его интерфейс и указать с какими командами ваш бот умеет работать.

Задаются они вот в таком формате:

И после этого при начале ввода команды вашему боту — он будет показывать помощь со списком перечисленных команд:

Создадим package, который у нас будет содержать классы, ответственные за обработку команд.
package com.example.telegrambot.command

В классе Command мы перечислим все команды, которые должен уметь понимать наш бот.

Как вы видели ранее, я у @BotFather указал, что бот у меня должен уметь понимать 4 команды. Это будут стандартные start и help. Одну добавим полезную — id. И еще одну, notify, про которую я расскажу чуть позже. И две команды NONE и NOTFORME, которые будут говорить нам, что текст сообщение либо вообще не является командой, либо это команда не для нашего бота.

Еще добавим один вспомогательный класс ParsedCommand

Основное его назначение — в объектах этого класса мы будет хранить результат парсинга текста. Содержаться в нем будет только сама команда и весь текст, который идет после команды.

И напишем отдельный класс, который будет нам парсить команды. Класс Parser

Вкратце. При инициализации парсера мы обязательно передаем в конструкторе имя нашего бота, чтобы парсер умел отличать свои команды от чужих.

Ну и дальше мы просто вызываем публичный метод

Которому в аргументах передаем текст сообщения, а он нам в ответ должен вернуть команду и текст сообщения идущий после команды.

Как работает парсер вы можете увидеть в тестовом классе.

Мухи отдельно, котлеты отдельно

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

Изменения в этом классе очень незначительные. Мы добавили две очереди:

и немного переписали код функции public void onUpdateReceived(Update update)

Почему так? Опять таки я перепробовал разные варианты. И основная проблема многопоточности — это работа с общими данными. И мне больше всего понравилось как с этим справляется реализация многопоточных очередей ConcurrentLinkedQueue<>()
И как вы видите, в обоих очередях у нас будут хранится типы данных Object. Это еще одна закладка на будущее. Таким образом мы не привязываемся к типам полученных сообщений. Во входящую очередь сможем складывать не только объекты типа Update а и какие-то другие, нужные нам.

Тоже самое и с очередью на отправку. Так как мы можем отправлять самые разные типы сообщений и у них нет общего родителя — мы также используем общий тип данных — Object.
Если в таком виде запустить бота, то он будет работать, но не будет делать ничего. Все полученные сообщения он будет фиксировать в логе и складывать в очередь.
Следовательно нам нужен какой-то поток, который займется тем, что будет забирать из очереди принятые сообщения и совершать над ними какие-то действия и складывать в очередь sendQueue результаты своей работы.

Создадим отдельный package: service и в нем у нас будет всего 2 класса:

MessageReciever — обработчик полученных сообщений
MessageSender — обработчик очереди сообщений, которые нужно отправить пользователю.

Их работу мы рассмотрим чуть ниже, а пока пропишем их использование в нашем стартовом классе App

После того, как наш бот приконнектился — мы стартует наши обработчики в отдельных потоках:

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

Как бы не хотелось разобраться в первую очередь с обработчиком входящих сообщений — давайте разберем работу класса MessageSender.

Разберем по пунктам, что он умеет и что делает:

    Естественно это наследование интерфейса для многопоточности:
    implements Runnable
    и реализация функции run

Тут мы запускам бесконечный цикл, который занят только тем, что он проверяет очередь на отправку и вызывает команду send

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

Тут мы используем созданный ранее парсер команд. И тут же мы добавим возможность использовать различные типы обработчиков для наших команд и некоторые из них сделаем многопоточными.

Цикл работы очень простой:

Проверяем очередь. Если что-то есть — запускаем анализатор:

Если ничего нет — ждем.

Анализатор проверяет тип объекта. Если он умеет с ним работать — запускает следующий анализатор. Если не умеет — ругается 🙂

Почему так? Опять таки это закладка на будущее и, надеюсь, я её раскрою в следующих частях этого цикла статей. Такая реализация позволит нам потом формировать свои какие-то задания для бота, делать списки рассылок, дневные задания. Для этого ресивер должен уметь обрабатывать не только объекты типа Update а и что-то наше. Но об этом потом 🙂

Рассмотрим подробнее анализатор для типа Update:

Он определяет ID чата. Получает текст сообщения. С помощью парсера определяет, является ли сообщение командой и определяет каким хендлером данную команду нужно обрабатывать. Запускает обработку команды и если обработка команды вернула какой-то непустой текст — формирует сообщение для отправки пользователю и складывает его в очередь.

И тут у вас должен возникнуть вопрос: «Что еще за хендлер?». Речи про него раньше не шло и в коде он не упоминался. Все верно. Сейчас мы этот функционал и разберем.

Для этого создадим отдельный package, который и будет хранить все наши хендлеры. Назовем его handler
Создадим абстрактный класс AbstractHandler

У него будет базовый конструктор, в котором мы передаем с каким именно объектом Bot ему нужно будет взаимодествовать. И объявлена абстрактная функция operate реализацию которой мы должны будем прописать в наследниках нашего класса.

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

Как мы его применим и где мы получим результаты его работы — разберем чуть позже.

Следующий на очереди — SystemHandler
Он у нас займется обработкой базовых команд, таких как start, help и мы поручим ему еще и выполнение команды id

Основа его выглядит так:

Как реализовано формирование ответа на команду start и help вы можете посмотреть в коде 🙂
Формируем текстовые сообщения и складываем их в очередь на отправку. На этом работа хендлера прекращается. Кто и как отправит эти сообщения — его совершенно не волнует.
И помните чуть выше я упоминал, что в результате работы хендлера он возвращает какие-то текстовые данные. И если эта строка не пустая — мы этот текст должны отправить пользователю. Вот именно этот функционал мы и использовали при отработке команды ID:

Хендлер вернет текст с ID пользователя тому, кто его вызвал и уже там сформируется сообщение на отправку, которое и уйдет потом в очередь.

И в начале статьи я упомянул, что мы реализуем такой вариант обработки сообщения пользователя, которому на работу нужно время. И чтобы он не мешал нашим обработчикам — мы его выделим в отдельный поток и пусть он занимается своим делами, не отвлекая остальных.
В качестве такого «тяжеловесного» потока я придумал команду notify. Принцип её работы такой.

Передав боту команду вида:
/notify 300

Бот должен вам сообщить, что команду понял и через 300 секунд он пришлет вам какое-то уведомление, что 300 секунд прошли. У этой команды может быть даже практическое применение 🙂

Например вы поставили пельмешки на огонь и вам их нужно снять через 5 минут. Бот с этим отлично справится и кинет вам в чат уведомление о том, что время вышло.

Или возьмем задачу более серьезную. Вы идете на важную встречу и вы знаете, что при общении с собеседником вам нужно будет прервать разговор. Для этого обычно просят друзей или позвонить или написать сообщение, что и будет являться мотивом не на долго отвлечься от беседы и сделать какие-то действия. Но зачем мучать друзей, когда у вас есть бот? Задав ему заранее задание и указав время — вы получите нужное уведомление в телеграм. Но это все лирика. Задание и эта команда придуманы лишь для того, чтобы показать вам как выделить в отдельный поток что-то, чья работа может занимать очень большой промежуток времени.

Проверяем, передали ли нам в тексте время задержки. Если нет — ругаемся. Если да — стартуем новый поток, куда мы передаем вводные по нашему заданию. Выполнением этого задания займется отдельный класс Notify.
Функционал предельно простой. Он спит указанное колличество секунд. Но в процессе его сна ваш бот умеет принимать любые другие сообщения, общаться с вами, запускать еще дополнительные уведомления. И все это работает отдельно друг от друга.

И чтобы логично завершить всю эту связку с вызовом хендлеров, вернемся в наш класс MessageReciever и посмотрим как мы понимаем какой хендлер нам нужен и как мы их запускаем.
Нужный хендлер нам возвращает команда

Теперь, если вы захотите добавить еще какие-то команды, нужно будет сделать следующее:

  1. В классе Command добавить синтаксис команды.
  2. В ресивере в функции getHandlerForCommand указать, кто будет ответственен за обработку этой команды.
  3. И собственно написать этот хендлер.

О чем мы поговорим в следующих частях?

Нам нужно понять как формировать разные типы сообщений. Как работать с клавиатурой и кнопками. Как редактировать свои старые сообщения. Как работать с колбеками. Как давать задания боту на выполнение каких-то действий. Как формировать интерактивное сообщение с ботом и многое другое. Все дальнейшие части зависят от вас и вашей активности.
Жду в комментариях ваши отзывы и направления, которые мы рассмотрим в приоритете.

Не стесняйтесь, задавайте вопросы. Если в статье что-то не указано или какой-то момент не ясен — напишите мне об этом. Я обязательно поправлю, отредактирую или уточню спорные моменты.

Программируйте в удовольствие и да прибудет с вами сила и красивый код 🙂

Бот, написанный в этой части статьи, работает. Помучать его можно тут: @test_habr_bot
Так же можно помучать моего планировщика: @EventCheckPlanner_Bot
И Дерзкого киномана: @FilmFanAmateurBot.

Команды в телеграм ботах ⁠ ⁠

В ботах часто используются команды вида “/command”, которые провоцируют бота на то или иное действие.

Кто уже создавал ботов мог видеть их в @botfather.

Команды в телеграм ботах Telegram, Telegram бот, Бот, Чат-бот, Bots, Google Таблицы, Javascript, Длиннопост

Давайте разберемся как создать этот список команд и присвоить каждой ту или иную функцию.

С созданием списка команд все довольно просто, это реализуется непосредственно в настройках бота через @BotFather:

1) Вводим команду /mybots

2) Видим список наших ботов

3) Выбираем тот бот, которому присвоим список команд

4) Кликаем Edit Bot

Команды в телеграм ботах Telegram, Telegram бот, Бот, Чат-бот, Bots, Google Таблицы, Javascript, Длиннопост

5) Кликаем Edit Commands

Команды в телеграм ботах Telegram, Telegram бот, Бот, Чат-бот, Bots, Google Таблицы, Javascript, Длиннопост

Далее, следуя формату, отправляем список команд, например:

getkeyboard — получить клавиатуру

Команды в телеграм ботах Telegram, Telegram бот, Бот, Чат-бот, Bots, Google Таблицы, Javascript, Длиннопост

Следим, что нам отвечает отец ботов. Видим сообщение Success — мы молодцы! Идем дальше.

Теперь если мы введем “/” в чате с нашим ботом, то он предложит список команд. Проверяем, что список есть:

Команды в телеграм ботах Telegram, Telegram бот, Бот, Чат-бот, Bots, Google Таблицы, Javascript, Длиннопост

Добавим логику нашим командам

Как уже видно из описания команд, я хочу отправить в чат клавиатуру.

Создам новую ГТ и перейду к написанию скрипта

Команды в телеграм ботах Telegram, Telegram бот, Бот, Чат-бот, Bots, Google Таблицы, Javascript, Длиннопост

Назову файл doPost, здесь будет только эта функция

Команды в телеграм ботах Telegram, Telegram бот, Бот, Чат-бот, Bots, Google Таблицы, Javascript, Длиннопост

Добавлю следующий скрипт:

let update = JSON.parse(e.postData.contents);

let msg = update.message;

let text = msg.text;

let msg_array = msg.text.split(» «);

let user = msg.from.username;

if (text == «/getkeyboard») <

Demo.send_key(«Галочки», chat_id, API, keyboard)

Demo.send(«Клавиатура сохранена”, chat_id, API)

Все! Для каждой команды теперь добавлен функционал.

Хорошо, расскажу поподробнее))

doPost(e) — стандартная функция телеграма для обработки сообщений ботом. В нее мы записываем, что бот должен делать при получении той или иной команды.

Как видно из скрипта, команда — это простое текстовое сообщение. При заведении списка команд мы ограничиваем пользователя в свободном написании этих самых команд, тем самым упрощая всем жизнь.

Итак, если текст сообщения == “/getkeyboard”, мы отправляем в чат некую клавиатуру.

Если мы отправили боту команду “/save”, то он ответит нам сообщением “Клавиатура сохранена”.

Подробно функции send и send_key, а также библиотека Demo рассматривались в постах ранее. Вот ссылки:

Дабы не перегружать дорогого читателя инфой, остановлюсь здесь)

Как всегда жду фидбека и вопросиков ^^ Всегда рады пообщаться!

576 постов 13.7K подписчиков

Правила сообщества

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях

Важно — сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

Утверждения вроде «пост — отстой», это оскорбление автора и будет наказываться баном.

Простите, а можно вы для меня за деньги сделаете 1-2 бота, плз?

Бота сделать не проблема. Достаточно неделю провтыкать в js и посмотреть соответствующие библиотеки. Уже с полсотни учебок на эту тему точно есть.

ТС, сделай связку Google sheets и Google contacts. Чтобы в контакты уходили записи из таблицы.

Дописал (довёл до ума) боты для скачивания mp3 через YouTube⁠ ⁠

Тема, естественно, заезженная до ужаса, но очень нужна обратная связь.

Новичок в программировании (пусть питонист и не программист, но всё же. ), с месяц ломал голову над телеграм ботом для скачивания музыки в mp3. Уже достало мыкаться по рунету в поисках «. скачать mp3 бесплатно без регистрации. » без рекламы, без подставы, в норм качетве.

Поначалу сделал внутреннюю версию, но жена настояла на том, что таким надо делиться.

Начиналось всё с тупого скачивания YouTube, и то по одной песенке, с постоянными ошибками (ведь без сервера Телеграм больше 50 метров и не отправить, а в музыке мне важно качество). И вот сегодня чудесный миг настал, чем теперь не могу не поделиться:

Бот простейший как топор:

1. Вводишь поисковый запрос

2. Получаешь треки (они сразу попадают к вам — да, тупо и трафик дорого, но я считаю, что лучше услышать результат сразу и уже скачивать на устройство то, что выбрал, а пока слушаешь, бот накидывает следующие треки).

Неограниченное число поисковых запросов на пользователя, полная выдача занимает 1-2 мин в зависимости от запроса.

Надеюсь кому-то тоже пригодиться, не знаю, надолго ли потяну оплату этого чуда, но пока работает пользуйтесь.

Дописал (довёл до ума) боты для скачивания mp3 через YouTube Telegram, Telegram бот, Скачивание, Mp3, Музыка, Хорошая музыка

Исторические данные от NASA⁠ ⁠

В ней я описал как реализовал автоматическое наполнение телеграм канала https://t.me/daily_nasa «астрономической картинкой дня от NASA» с описанием на русском а также со ссылкой на загрузку картинки в HD, позже я реализовал добавление в этот канал статей на тему астрономии из http://hubblesite.org/ и тоже на русском, все круто но меня парило то, что каналу моему меньше года, а NASA публикует данные уже очень много лет, по этому я решил взяться в реализацию отображения исторических данных за выбранный период в телеграм, как? смотрите ниже.

Идея была такой, есть телеграм бот, после нажатия старт в нем отображается красивый календарь, где можно выбрать год, месяц, и день, после выбора мы получаем за этот день картинку / видео и описание (APOD в общем)

Сейчас это выглядит так:

Реализовал все опять же таки на Python, так вот:

Те кто читал мои статьи ранее знают, что я не такой уж и фанат «изобретать велосипеды» (разве что иногда) по этому я подумал что писать красивый календарь самому будет долговато, выход? я решил поискать его на GitHub, и я нашел — https://github.com/artembakhanov/python-telegram-bot-calenda.

Отличная библиотека, которая ставится одной командой:

Вопрос, как прикрутить это к NASA API ?

1 — Заходим в примеры (examples) и смотрим скрипт simple_pytelegrambotapi.py

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

В result в конечном счете приходит год, месяц и день который вы выбрали на календаре, в примерно таком формате 2022-03-04

и это отлично, ибо все что нам остается, это записать этот result в запрос к NASA API, а именно:

Исторические данные от NASA Космос, Apod, NASA, Астрономия, Телескоп Хаббл, Наука, Python, API, Telegram, Разработка, Программирование, IT, Научпоп, Планета, Telegram бот, Видео, Без звука, Вертикальное видео, Длиннопост

В итоге остается только распарсить data, сформировать сообщение и отправить в телеграм, чуть более подробней про это тут:

Сейчас данные можно получать с Июля 1995 года по сегодня. В боте еще есть некоторые недоработки, но я ими займусь как только отловлю все баги, если вы случайно нарветесь на какой-то баг, или у вас будут какие-то предложения пишите их в комментарии, все приму во внимание😁

Как сохранить данные из бота в Google таблицу⁠ ⁠

В работе часто приходится сохранять данные, полученные от пользователей чат-бота. Показываю как это легко сделать.

Например, мы хотим записывать людей на образовательный курс «Основы мастерства». Для этого нужно спросить пользователя и сохранить в Гугл таблице имя, телефон и электронную почту.

1. Регаемся на конструкторе чат-ботов Botmother, в личном кабинете привязываем аккаунт к Google почте (можно на свою или создать отдельную) и создаем бота.

2. В конструкторе на стартовый экран добавляем компонент «Сообщение» и спрашиваем имя. Это первое сообщение от бота.

3. Добавляем компонент «Ввод от пользователя» для сохранения имени в переменную Name c типом данных Текст.

4. Добавляем компонент «Сообщение» и спрашиваем номер телефона.

5. Добавляем компонент «Ввод от пользователя» для сохранения телефона в переменную Phone с типом данных Число.

6. Добавляем компонент «Сообщение» и спрашиваем электронную почту.

7. Добавляем компонент «Ввод от пользователя» для сохранения почты в переменную Email с типом данных Email.

8. Добавляем компонент «Сообщение» и благодарим за запись.

9. Добавляем компонент «Google таблицы», пишем название (например, «Запись на курс»), добавляем ключи и значения. Ключ — это будет название столбца в таблице, значение — наша переменная. Имя — Name, Телефон — Phone, Почта — Email.

10. Сохраняем (советую сохраняться чаще).

Открываем бота и пошагово проходим все этапы — записываемся на курс. Пишем свое имя, телефон и почту.

Открываем Гугл диск — там должна появиться новая таблица с названием и заполненными данными.

Разумеется, можно настроить бота по-своему, например, задавать больше вопросов, передавать в гугл больше данных или сделать сложные сценарии.

Вот как выглядит экран с компонентами:

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

Как сохранить данные из бота в Google таблицу Разработка, Telegram, Боты, Бот, Чат-бот, Видео, YouTube, Длиннопост

DnD5 Club Telegram Bot⁠ ⁠

Всем привет! Командой сайта DnD5Club сделали для вас бота в Telegram, чтобы вы могли быстро находить нужные вам заклинания в компактном виде или бросить кубы, если вы забыли их дома. Куда проще написать пару букв в приложении телефона, чем носить с собой стопку книг)

1. Вам нужно запустить бота.

2. Выбрать в меню “Поиск заклинаний”

3. Ввести текст, минимум три символа и отправить.

4. В ответном сообщении вам придет описание заклинания.

5. Если найдено несколько заклинаний, вам выведет клавиатуру с набором заклинаний.

6. Выберете одно из них и получите описание. Все!

Если вы хотите продолжить поиск просто вводите новой текст и ищите что вам нужно.

Чтобы сделать бросок кубиков, нужно перейти в режим “Бросить кубики”, выбрав в меню соответствующий пункт.

Если вы до этого искали заклинания, для начала вам нужно будет завершить поиск заклинаний. Это можно сделать нажав на кнопку под любым найденным заклинанием “Закончить поиск заклинаний”

Спасибо за внимание, всем здоровья и побольше критических успехов!

DnD5 Club Telegram Bot Dungeons & Dragons, Настольные ролевые игры, DnD 5, Telegram бот, Бот, Длиннопост

DnD5 Club Telegram Bot Dungeons & Dragons, Настольные ролевые игры, DnD 5, Telegram бот, Бот, Длиннопост

DnD5 Club Telegram Bot Dungeons & Dragons, Настольные ролевые игры, DnD 5, Telegram бот, Бот, Длиннопост

DnD5 Club Telegram Bot Dungeons & Dragons, Настольные ролевые игры, DnD 5, Telegram бот, Бот, Длиннопост

Резервная копия youtube каналов⁠ ⁠

Господа, я сделаль!

Появилась такая мысль — сохранить свои подписки с Youtube (вдруг заблочат).

Для этого написал бота, который сканирует ваш аккаунт и делает резервную копию подписок в виде json — файла (список).

Резервная копия youtube каналов Telegram, Бот, YouTube, Резервное копирование, Подписка

2) Проекты -> Микросервисы -> Копия подписок Youtube

3) Дальше согласно инструкции бота

Вы получите файл с названием и ссылками.

Резервная копия youtube каналов Telegram, Бот, YouTube, Резервное копирование, Подписка

В последующем (когда доработаю бота) вы сможете загрузить этот файл в бота и по ссылкам подписаться на любимых блогеров, но уже в других соц. сетях. Адрес бота https://t.me/Ardbot_bot

Бот будет работать не постоянно, так как запушен на локальном компе.

Если есть вопросы или пожелания, то пишите в комментарии

Какими полезными ботами Telegram я пользуюсь⁠ ⁠

Всем привет. Не знаю кому может быть интересен данный пост, но решил рассказать какими ботами я пользуюсь в повседневной жизни 🙂
Итак, начнем.

Imgur Uploader — @upload_imgur_bot
Бот для загрузки изображений на Imgur прямо в мессенджере.

Какими полезными ботами Telegram я пользуюсь Telegram, Бот, Длиннопост

TT Save Bot — @ttsavebot
Бот для скачивания роликов с Тик-тока без ватермарка (логотипа на видео).

Какими полезными ботами Telegram я пользуюсь Telegram, Бот, Длиннопост

Gmail Bot — @gmailBot
Официальный бот от Google для получения уведомлений и просмотра писем прямо в Telegram.

Какими полезными ботами Telegram я пользуюсь Telegram, Бот, Длиннопост

Temp-Mail — @tempmail_org_bot
Генерация временной почты

Какими полезными ботами Telegram я пользуюсь Telegram, Бот, Длиннопост

This Person Does Not Exist — @neuroperson_bot
Создание виртуальной личности (данные являются фейковыми, случайно сгенерированными, если что).

Какими полезными ботами Telegram я пользуюсь Telegram, Бот, Длиннопост

VirusTotal — @VirusTotalAV_bot и Dr.Web — @DrWebBot
Антивирусы прямо в мессенджере.

Какими полезными ботами Telegram я пользуюсь Telegram, Бот, Длиннопост

VK Music Bot — @vkm4bot
Бот, который ищет музыку из ВК и позволяет слушать ее в мессенджере без всякой рекламы и подобного.

Какими полезными ботами Telegram я пользуюсь Telegram, Бот, Длиннопост

KinoSerialBot — @KinoSerialBot
Бот с сериалами

Какими полезными ботами Telegram я пользуюсь Telegram, Бот, Длиннопост

Надеюсь, было полезно 🙂

Как победить бота Альфа банка⁠ ⁠

Меня интересовал простой вопрос: Сколько денег можно в сутки или в месяц перевести себе на карту Альфа банка с карты другого банка.

Как победить бота Альфа банка Альфа-банк, Бот, Чат-бот, Робот, Банк, Длиннопост

Как победить бота Альфа банка Альфа-банк, Бот, Чат-бот, Робот, Банк, Длиннопост

Как победить бота Альфа банка Альфа-банк, Бот, Чат-бот, Робот, Банк, Длиннопост

Как победить бота Альфа банка Альфа-банк, Бот, Чат-бот, Робот, Банк, Длиннопост

И это не вся переписка, в общей сложности я раз 10 пытался позвать человека😅

А вы знали что у NASA есть API?⁠ ⁠

Для использования API вам нужен специальный API ключ, который вы получите после заполнения короткой анкеты:

А вы знали что у NASA есть API? Telegram, IT, Python, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, Телеграмма, Длиннопост

Сразу же я решил что-то интересное придумать с этим делом, и так как я довольно неплохо разбираюсь в Телеграм API, я решил сделать телеграм канал в который буду раз в сутки постить какое-то астрономическое фото с пояснением в красивом виде, как это сделать? сейчас поясню.

1 — Создаете бота, как создать телеграм бота почитайте тут

2 — Создайте телеграм канал, и добавьте ранее созданного бота в этот канал как администратора

3 — Теперь вы сможете отправлять в свой канал сообщения посредством создания POST запроса, например вот с использованием Python, например ниже отправка картинки с подписью:

А вы знали что у NASA есть API? Telegram, IT, Python, NASA, API, Разработка, Программирование, Космос, Наука, Бот, Научпоп, Телеграмма, Длиннопост

Естественно можете использовать хоть JavaScript, про остальные методы для телеги можно почитать тут.

Теперь про получения данных из NASA, там все просто, делаете GET запрос на то API которое вы выбрали (на том же сайте предоставляются линки, примерно в таком виде:

https://api.nasa.gov/planetary/earth/imagery?lon=100.75&amp;. , вот DEMO_KEY нужно заменить на от ключ, который вы от NASA получили после заполенния анкеты)

То что я сделал, это канал, куда раз в сутки будет публиковаться красивое фото космоса, с описанием и автоматическим переводом на русский язык (после нажатия на ссылку под каждым постом идет переход на telegraph где описание доступно в дух языках, оригинала и русском) + добавлена возможность скачать эту картинку в HD качестве, ссылка на канал -> https://t.me/daily_nasa

Спасибо за внимание😁

Бесплатный телеграм-бот по поиску друзей и знакомств для одиноких пикабушников⁠ ⁠

Вчера, общаясь в телеграм-чате с людьми, которым не с кем встретить Новый год, мне пришла мысль — а не сделать ли бота, который бесплатно создавал и размещал анкеты пользователей в телеграм-канал знакомств? Сказано — сделано. Сегодня задеплоил бот, встречайте: https://t.me/znakrus_bot

За сим откланяюсь, писатель из меня не очень. Фидбэк приветствуется))

Типы клавиатур в чат ботах⁠ ⁠

Сегодня познакомимся с существующими клавиатурами в ботах и тем, как их подключить и настроить.

Всего есть два типа клавиатур:

ReplyKeyboardMarkup используется в случаях, когда вы хотите получить от пользователя конкретный ответ, предоставляя ему возможность не печатать ручками, а выбрать из предлагаемых вариантов. Иными словами, это заготовки текстовых сообщений. Расположены кнопки под полем ввода сообщения

Типы клавиатур в чат ботах Telegram, Бот, Чат-бот, Telegram бот, Bots, Google Таблицы, Длиннопост

InlineKeyboardMarkup — это более продвинутый вариант кнопок, за которыми скрыт дополнительный функционал. В данном случае кнопки прикрепляются непосредственно к сообщению от бота

Типы клавиатур в чат ботах Telegram, Бот, Чат-бот, Telegram бот, Bots, Google Таблицы, Длиннопост

В зависимости от выбранной кнопки могут последовать те или иные действия. Эту логику мы задаем в скрипте для каждой кнопки.

В приведенном примере мы хотим записать пользователя на маникюр и предлагаем ему определиться с днем (в качестве примера приведены только два варианта, но это можно закастомить).

После выбора того или иного дня бот внесет инфу в ГТ, а именно: дату, имя пользователя и ид чата.

Запись через чат имеет следующий вид

Типы клавиатур в чат ботах Telegram, Бот, Чат-бот, Telegram бот, Bots, Google Таблицы, Длиннопост

Здесь мы выбрали кнопку Сегодня и получили ответ от бота.

В ГТ при этом появилась строчка

Типы клавиатур в чат ботах Telegram, Бот, Чат-бот, Telegram бот, Bots, Google Таблицы, Длиннопост

Подключение и настройка

Каждая клава (инлайн-клавиатур может быть сколько угодно) записана в соответствующую переменную:

[«Записаться», «Отменить запись»]

Обратите внимание, что синтаксис для инлайн (INLINE_Days) и обычной (KEYBOARD) клавиатур различается.

Клавиатурам можно добавить дополнительные свойства, мы использовали только resize_keyboard со значением true. Их не так много и они есть в документации телеграма.

Далее в коде обращаемся к клавам по имени переменной.

С ReplyKeyboardMarkup все достаточно просто. Она добавляется при первом прогоне скрипта, когда вы отправляете в чат команду /start, например.

Нам нужна функция, которая отправит в чат клавиатуру. Функция та же, что и при отправке сообщения ботом send(), за двумя исключениями:

— у функции появляется дополнительный параметр — keyboard;

— у объекта payload появляется доп свойство — reply_markup : JSON.stringify(keyboard)

Ниже скрипт функции отправки обычной клавы в чат:

function send_key (msg, chat_id, api, keyboard)

Вызов функции осуществляется из тела функции doPost(e) одной строкой:

send_key(«Поехали», chat_id, API_TOKEN, KEYBOARD)

Что касается инлайн-клавиатур.

Отправка клавиатуры наступает при определенном условии. Если пользователь отправил в чат слово “Записаться”, то отправляем ему нашу инлайн-клаву:

if (text == «Записаться») <

Demo.send_key(«Выберите день», chat_id, API_TOKEN, INLINE_Days)

Переменная text содержит текст сообщения, которое мы и проверяем на соответствие.

Результатом выполнения функции send_key будет сообщение от бота Выберите день и кнопки под ним.

Далее нужно предусмотреть алгоритм обработки нажатия этих кнопок.

Если мы кликаем на какую-либо из кнопок (“Сегодня” или «Завтра»), то добавляем новую строку в ГТ и отправляем сообщение в чат, что запись создана.

let date = Demo.getNewDate(0);

let ind = get_ind(chat_id);

Demo.send(«Вы успешно записались. «+»Дата визита: «+ date, chat_id, API_TOKEN);

Ниже скрипт полностью (не забываем, что значения глобальных переменных у вас будут свои):

// Объявляем все нужные нам переменные. Док важно открывать именно по ID, а не брать активный док, т.к. запуск кода будет производить бот

const DOC = SpreadsheetApp.openById(«1ALJLtLdt-LT7GEF4hawIizVeJXFnoPZCsC0pw7kcp70«);

const Clients = DOC.getSheetByName(«Clients»);

const Calendar = DOC.getSheetByName(«Calendar»);

UrlFetchApp.fetch(» https://api.telegram.org/bot «+API_TOKEN+»/setWebHook?url rv-related»>>

var update = JSON.parse(e.postData.contents);

var msg = update.message;

var text = msg.text;

var msg_array = msg.text.split(» «);

var user = msg.from.username;

if (text == «Записаться») <

Demo.send_key(«Выберите день», chat_id, API_TOKEN, INLINE_Days)

if (text == «Отменить запись») <

let ind = get_ind(chat_id);

Demo.send(«Запись отменена», chat_id, API_TOKEN)

var text = update.callback_query.message.text;

var user_name = update.callback_query.from.username;

let date = Demo.getNewDate(0);

let ind = get_ind(chat_id);

Demo.send(«Вы успешно записались. «+»Дата визита: «+ date, chat_id, API_TOKEN);

if (data == «tomorrow») <

let date = Demo.getNewDate(1);

let ind = get_ind(chat_id);

Demo.send(«Вы успешно записались. «+»Дата визита: «+ date, chat_id, API_TOKEN);

Отдельно ниже представлена доп функция, которая проверяет наличие ид в ГТ. Если ид уже есть в таблице, мы обновляем данные у строки с этим ид. В противном случае создаем новую строку.

let chat_id = 311157431;

let arr = Clients.getRange(1,2,Clients.getLastRow()).getValues()

let ind = arr.indexOf(chat_id)

ID для подключения библиотеки Demo: 1JkXEW_zfhr6v0TKsvU_ZbygNLpXEczxZcC46fMF_ffk-noMk8UKcMitz

Здесь также заметим, что клик по кнопке в инлайн клавиатуре отправляет боту JSON со свойством callback_query. Это значит, что нам нужны дополнительные переменные, в которые мы запишем значения из этого JSON пакета.

Это краткая вводная в мир клавиатур. Скоро будут посты про простые сервисы, куда будут добавлены и доработаны те же клавиатуры и доп функции.

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6)⁠ ⁠

Глобально задача в следующем:

1 — забрать с какого-нибудь сайта прогноз погоды

2 — подключить бота и привязать его к таблице

3 — настроить триггер для отправки.

Посмотрев несколько сайтов с погодой — выбор пал на Яндекс, ввиду удобной структуры сайта.

Отсюда я забрал прогноз:

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Подробнее о том как спарсить данные с сайта в таблицу в этом посте: Парсинг данных с сайтов в гугл таблички (GS1)

Тут приведу только формулу:

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Теперь подключаем бота. Как это сделать — читай тут: Подключение телеграм бота к гугл табличкам (GS3)

Если ранее мы использовали chat_id — чат с самим ботом, то сейчас мы будем использовать ид чата/ группы в телеграме, в который бот был добавлен.

Для этого нам необходимо сохранять ид чата отдельно в таблице и обращаться к этому значению как к значению переменной chat_id.

Соответственно, нам нужна функция, которая будет это делать:

//записывает ид чата в таблицу

Demo.send(«ID записан», chat_id, API_TOKEN);

Важно! В строке Demo.send я вызываю функцию send, которая уже рассматривалась в посте про создание бота. Demo в данном контексте — это название библиотеки, также подробнее про библиотеки можно почитать в соответствующем посте.

Вызывать ее мы будем из тела функции doPost(e) при условии, что боту отправлена команда /link. В коде это выглядит вот так:

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Теперь соберем все вместе и сформируем сообщение для отправки в чат.

API_TOKEN — токен бота

DOC — ссылка на вашу гугл таблицу

DATA — лист гугл таблицы, содержащий прогноз погоды

SETTINGS — лист гугл таблицы, содержащий значение chat_id

App_link — URL веб приложения

Все, что в кавычках, должно быть изменено на ваши значения.

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Функция для подключения веб хука:

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Функция link(chat_id) для запоминания id чата

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Функция daily() для формирования и отправки прогноза в чат:

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

На данный момент функция daily() не вызывается другой функцией или командой типа /link или /hello.

Мы добавим триггер, который будет вызывать функцию автоматически каждое утро.

Переходим на вкладку Triggers

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Добавляем новый триггер

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

В окне задаем необходимые параметры.

Во-первых, функцию. Фукция, которая вызывается по триггеру, — daily().

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Event source — по времени (Time-driven)

Type of time based trigger — Day timer (раз в день)

Time of day — в какое время триггер должен сработать

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Результат работы скрипта ниже.

Чат с прогнозом погоды и триггеры в гугл таблицах (GS6) Telegram, Telegram бот, Google Таблицы, Бот, Чат-бот, Bots, Длиннопост

Дополнительно: триггеры на то и триггеры, что работают автономно (без участия пользователя или разработчика, с закрытым доком или чатом. В любой ситуации сообщение будет отправлено в чат в установленное время с установленной частотой.

Создание библиотеки в гугл скриптах⁠ ⁠

В Гугл скриптах, как и в других языках программирования, есть возможность использовать библиотеки.

Что такое библиотека? Это набор функций и методов, которые часто используются программистами в разных программах. Чтобы не создавать одну и ту же функцию дважды или больше раз, достаточно один раз сохранить ее в библиотеку и подключать библиотеку к новому коду с уже написанными стандартными функциями.

В посте про создание телеграм бота мы использовали только три функции, и эти функции стандартные для любого бота. Следовательно, чтобы при создании второго, третьего… десятого бота не переписывать эти функции снова и снова, давайте просто сохраним их в библиотеку.

Создаем новые ГТ и скрипт в ней

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Пропишем функцию send(msg, chat_id) :

function send (msg, chat_id, api) <

//Отправляет сообщения в тлг. На вход функции дать сообщение и ID чата, в который нужно провести отправку

UrlFetchApp.fetch(‘https://api.telegram.org/bot’ + api + ‘/’, data);

Сохраняем проект и делаем деплой

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Кликаем по шестеренке и выбираем Library

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Кликаем Deploy внизу окна и видим ссылку на библиотеку

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Из всей ссылки нам нужен только id, который зашит между /d/ и /4 (согласно скрину выше) — 1iJ_IOEicfGzTlfbhDkcKIcBBEbh9UJ8WLf1FRQZ1Wu_Wnoqw6OBtITjZ. Копируем свой ид и идем дальше.

Создаем новые гугл таблицу и скрипт. В скрипте прописываем глобальные переменные

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Помним, что значения этих переменных у вас будут свои.

Попробуем добавить тот же функционал, что и в посте про создание бота, с отправкой сообщения в чат телеграма. Но в этот раз мы не будем создавать функцию send(), а подключим библиотеку, в которой она уже есть.

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

В открывшемся окне вставляем ID библиотеки (не ссылку, а ид) и кликаем Look up

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Если подключение библиотеки прошло успешно, в окне появятся дополнительные поля выбора версии и указания идентификатора.

Название идентификатора меняем на короткое и понятное и кликаем Add.

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

В результате в списке библиотек видим новую библиотеку

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Напоминаю, что в библиотеке у нас 1 функция. К ней можно обратиться следующим образом: имяБиблиотеки.имяФункции

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Когда вы прописываете имя библиотеки и ставите точку, вы видите список всех доступных функций. В нашем случае это только функция send. Выбираем ее и прописываем передаваемые параметры:

Demo.send(«Hello World», chat_id, API_TOKEN)

Сохраняем проект, кликаем Deploy, обновляем Api_link, выполняем функцию api_connector и идем тестить работу этого бота (этот алгоритм действий также подробнее описан в статье про создания бота).

Новый бот отправляет сообщение в чат с помощью функции, которая зашита в библиотеке.

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Таким образом, в ту же библиотеку можно добавить ряд стандартных функций и к новым скриптам подключать уже написанные функции, не создавая их снова.

Подключение телеграм бота к гугл табличкам — обновленный пост (GS3)⁠ ⁠

Комбинация из ТЛГ и ГТ, простота подключения КМК делает из ГТ офигенный инструмент автоматизации.

Тайм-менеджмент, таск-менеджмент, учёт финансов, объявления, пересылка событий — всё это создается и довольно быстро настраивается. Главное — это становится полезным не только в бизнесе, но и для обычных чатлан.

Пост ориентирован прежде всего на людей, которые только познают ГТ и на первых порах не требует знания гугл скриптов. В этом посте будет только первичная настройка и подключение. В следующих постах рассмотрю всё что описал выше (как трекать время, задачи, финансы и т.д. и как это настроить под себя).

Для начала находим отца всех ботов @botfather в телеге.

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

После старта бота botftaher выведет список команд. Здесь нам интересна команда создания нового бота /newbot.

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Порядок очень простой: создать бота, назвать его человеческим языком, задать ему username. В результате получаем API токен нашего бота (1860347610:AAH1q6eqTPnVh0qe6mQWidNSTELcprXEfOk). Он-то нам и нужен.

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Теперь переходим к гугл таблице. Создаем новую таблицу, переходим в пункт меню Инструменты/Tools -> Редактор скриптов/ Script editor.

Должно получиться вот это:

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Затираем дефолтный код и вставляем следующий скрипт:

const API_TOKEN = ‘1860347610:AAH1q6eqTPnVh0qe6mQWidNSTELcprXEfOk

const DOC = SpreadsheetApp.openById(‘10W0T9eOP_NN_6g4qyEJzWjm4nkKRN2vyUOnpx73f-N0’);

var update = JSON.parse(e.postData.contents);

//нам нужен только тип «сообщение»

var msg = update.message;

var text = msg.text;

var msg_array = msg.text.split(» «);

var user = msg.from.username;

if (msg_array[0] == «/hello») <

send(«Hello World», chat_id)

function send (msg, chat_id) <

//Отправляет сообщения в тлг. На вход функции дать сообщение и ID чата, в который нужно провести отправку

UrlFetchApp.fetch(‘https://api.telegram.org/bot’ + API_TOKEN + ‘/’, data);

Обращаем внимание на переменные DOC и API_TOKEN (выделено жирным). Значения переменных необходимо исправить на ваши значения.

1) меняем ID гугл таблицы (находится в строке адреса после /d/)

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

2) меняем токен бота, который мы получили при его создании выше

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Круто! Львиная доля работы уже проделана.

Следующим важным моментом является регистрация вебхука (webhook).

Добавим следующий код к нашему скрипту:

UrlFetchApp.fetch(» https://api.telegram.org/bot «+API_TOKEN+»/setWebHook?url rv-related»>>

Переменную App_link пока оставляем пустой. Следующий шаг — это генерация значения для нее.

Сохраняем наш код и кликаем Deploy.

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

В открывшемся окне кликаем по шестеренке и выбираем Web app

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

В поле Who has access выбираем Anyone

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

И кликаем Deploy.

При первом запуске приложение попросит авторизации. Проделываем это упражнение.

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Здесь нам нужен URL в самом конце. Копируем его и вставляем в качестве значения переменной App_link.

Теперь функция должна выглядеть следующим образом:

UrlFetchApp.fetch(» https://api.telegram.org/bot «+API_TOKEN+»/setWebHook?url rv-related»>>

Снова сохраняем код и запускаем функцию api_connector:

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

И наконец переходим к боту в телеге! Запускаем, отправляем команду /hello и видим результат.

Подключение телеграм бота к гугл табличкам - обновленный пост (GS3) Google Таблицы, Telegram бот, Telegram, Бот, Bots, Длиннопост

Теперь подробно по коду. В коде всего 3 функции:

send (msg, chat_id)

doPost — это стандартная функция при работе с телеграм ботами, в которую зашиваются ответные действия от бота при отправке сообщения в чат с ним.

В нашем случае, если мы отправляем команду /hello, бот отвечает Hello World, вызывая функцию send. Это все его действия.

send — функция, которая непосредственно осуществляет отправку сообщения в чат. Функция имеет параметры msg (текст сообщения) и chat_id (ид чата, в который осуществляется отправка).

api_connector — функция подключения вебхука

Когда друг сказал, что покупает Ладу за 1,2 млн, стало понятно, что с рынком что-то не то. Делаем робота для поиска авто⁠ ⁠

Привет! Меня зовут Лев. Мы с командой развиваем «умного» робота HomeBro, который с недавних пор помогает бесплатно находить не только жилье, но и автомобили.

Предыстория

Для тех, кто еще не знаком с Бро – я рассказывал про создание робота по поиску жилья в этой статье.

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

Пообщавшись с людьми, мы выявили целый ворох проблем. Вот некоторые из них:

Взлет цен. Из-за коронавируса и кризиса полупроводников произошли серьезные сбои в поставках новых автомобилей. В ситуации дефицита и роста стоимости металла цены на машины в салонах резко повысились. Следом закономерно выросли цены и на авто с пробегом.

Засилье перекупщиков. Эти ребята постоянно мониторят рынок и успевают перехватить большинство адекватных вариантов на вторичном рынке. Они пользуются различными инструментами, в том числе и платными чат-ботами.

В итоге купить машину по хорошей цене, не имея мгновенных оповещений о новых вариантах – очень сложно.

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

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

Когда друг сказал, что покупает Ладу за 1,2 млн, стало понятно, что с рынком что-то не то. Делаем робота для поиска авто Авто, Машина, Подержанные авто, Telegram, Чат-бот, Бот, Поисковик, Покупка авто, Длиннопост

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

— Бот присылает новые объявления с 4-х сайтов – Авто.ру, Авито, Дром, СберАвто.

— Делает это шустро – в течение пары минут после публикации. За счет этого наши пользователи могут составить конкуренцию перекупщикам и поймать авто по хорошей цене.

— Одну машину присылает один раз, фильтруя повторяющиеся объявления с разных сайтов.

— Ищет и авто с пробегом, и новые машины.

— Позволяет нанять рекомендованного нами специалиста для проверки авто.

Как и в поиске жилья, в этом боте нет навязчивой рекламы и он бесплатный. А еще он работает по всей России!

Когда друг сказал, что покупает Ладу за 1,2 млн, стало понятно, что с рынком что-то не то. Делаем робота для поиска авто Авто, Машина, Подержанные авто, Telegram, Чат-бот, Бот, Поисковик, Покупка авто, Длиннопост

Сначала думали, не назвать ли бота CarBro, но все же решили, что HomeBro (с американского сленга — «братишка с района») – достаточно универсальное название. Заодно сделали единую точку входа, которая дает возможность искать и авто, и жилье, и интересных людей, живущих рядом (про последнее писал в отдельной статье).

На то, чтобы собрать первую тысячу человек в боте по поиску жилья, полтора года назад понадобилось 4 месяца. А в боте для авто мы собрали 1000 подписок за один день, просто разослав информацию про запуск нашим пользователям. Мы получили позитивные отзывы, рекомендации друзьям и донаты, а значит все не зря.

Когда друг сказал, что покупает Ладу за 1,2 млн, стало понятно, что с рынком что-то не то. Делаем робота для поиска авто Авто, Машина, Подержанные авто, Telegram, Чат-бот, Бот, Поисковик, Покупка авто, Длиннопост

Каждый раз кайфуем, когда читаем такие комменты к донатам <3

Не обошлось и без косяков — немного попотели с разбором различных вариантов написания названий моделей. Сейчас работает ок. Единственное – пока нельзя указывать конкретные поколения.

По многочисленным просьбам добавили возможность исключать модели/бренды, а также искать в определенном радиусе от города или даже сразу по всей стране.

В заключение

Для удобства еще раз ссылочка на бота. Помогите, пожалуйста, советом — напишите, что понравилось и чего не хватает. Для нас и Бро это мега важно.

Новый тест TelegramTV бота⁠ ⁠

Доброго времени суток.

Появилось немного свободного времени. И я решил посвятить это время своему хобби. «Говнокодингу». Уверен так назовут мой код, гуру.

А именно доработкой своего TelegramTV бота: @t_tv_bot (текущая версия)

Что я сделал в новой версии на данный момент:

— Взял за основу базы каналов всем нам известный сервис iPTV, чье имя нельзя произносить в слух. Более 1000 каналов.

— Добавил возможность подгрузить весь список каналов по команде /playlist

— Добавил возможность посмотреть список доступных групп каналов по команде /groups

— Добавил возможность подгрузить список каналов только нужной группы

— Добавил поиск нужного канала в базе по названию

Ссылка на тестовый TelegramTV bot: @ttvdemo_bot

Приглашаю всех протестить мое творение и высказать свои мнения.

По ограничениям на данный момент.

Я крайней степени бич. Поэтому на данный момент использую только один временный аккаунт базы, поэтому возможно возможность просмотра будет ограничена из-за занятости аккаунта. пробуйте открыть нужный канал через какое-то время.

Ссылки на потоки во время теста временные, поэтому копировать, воровать и прочее бесполезно. Не тратьте время.

С нетерпением жду комментарии

Новый тест TelegramTV бота Телевидение, Бот, Программирование, Программист, Python, Telegram, Telegram бот

КАК НАПИСАТЬ TELEGRAM BOT НА VBA?⁠ ⁠

У моего заказчика случился один инцидент. Ну, как инцидент, обычная житейская история. У него в компании есть девушка (или женщина, все относительно), которая следит за днями рождений сотрудников, собирает деньги на подарок и т.д., короче, Шура – профсоюзная активистка из «Служебного романа» (помните?: «… если сегодня кто-нибудь еще родится или умрет, я останусь без обеда…»), только помоложе и без профсоюза.

И вот однажды подходит эта «Шура» к одному из сотрудников и просит его помочь ей поднять на этаж пиццу.

— У меня сегодня День рождения, я заказала на всех пиццу…

— (Ой-йо-мойо(. )) ну… это… я тебя поздравляю, пошли за пиццей… Коллеги! у «Шуры» сегодня День рождения!

Тут, конечно, началось… в спешке, пока «Шура» и «Шурик» исчезли в направлении пиццы, торопливые сборы ассигнаций, в ближайший цветочный ларёк направлялся гонец, и воздухе витала мысль: «Просрали полимеры день рождения девушки, которая о каждом из нас не забывала»…

Дабы не попадать в следующий раз впросак, заказчик попросил меня написать для их корпоративного Telegram чата некую программку, которая бы утром поздравляла тех, у кого день рождения (в компании около 200 человек), а за три дня до дня рождения персонально направляла каждому сотруднику группы/отдела, в котором работает будущий именинник, telegram-сообщение о грядущем событии.

«Деньги в руки – будут звуки». Что в результате получилось? Есть чат, в котором сотрудники обсуждают разные вопросы, в нем каждое утро в 9-00 появляется средних размеров сообщение на тему «10 знаменитых людей, родившихся в этот день». Если в «этот день» родился кто-то из компании заказчика, то этот кто-то оказывается в компании знаменитостей. Такой вот каламбур. Также индивидуально некоторые сотрудники получают сообщение от бота «Шура – профсоюзная активистка» о ДР за три дня до «грустного праздника».

Вот, такая преамбула.

Для реализации поставленной задачи я использовал API Telegram, c# и серверную инфраструктуру заказчика на платформе Microsoft.

После создания заказной разработки на c# и .Net мне пришла в голову мысль: а можно ли запилить Telegram бот на VBA? На странице «Bot Code Examples» VBA среди множества языков нет, но ведь это не означает, что на нем нельзя написать бот для «телеги».

Попробую в этом посте заполнить «брешь». Сначала нужно сделать то, что делается для любого языка программирования – создать и прописать бота.

1) Для создания бота в Telegram найдите крестного отца всех telegram ботов — BotFather и дайте ему команду: «/newbot». В ответ отец всех telegram ботов попросит дать имя новому боту. Далее, нужно указать логин бота (username), заканчивающееся на bot. Вот бот готов. В доказательство свершившегося BotFather выдаст access token для доступа в Telegram API приблизительно такого вида: «1234567890:ABCDEFGabcdfgQWERTYUIOPasdfghjklZXC».

2) Нужно новорожденного бота пригласить в свою группу.

3) Все, бот может отправлять сообщения в эту группу.

Общая часть закончена. Теперь специфика Visual Basic for Application.

Попробуем отправить сообщение на VBA. Заранее прошу прощения за лубочный вид кодов. Как с помощью тега типа <VBA… раскрасить код на пикабу, мне неведомо, если такая возможность есть или недавно появилась – дайте знать. Если вы не хотите перебивать код с картинки, а хотите его просто скопировать, это можно сделать на странице моего сайта: https://www.quickwin.ru/Solutions/QandA :

КАК НАПИСАТЬ TELEGRAM BOT НА VBA? Vba, Telegram, Telegram бот, Visual basic, Utf-8, Бот, Длиннопост

Конкретно этот код работает. Проблема возникнет, если вы попытаетесь отправить сообщение на русском языке. В этом случае от Telegram вы получите ответ: «Bad Request: strings must be encoded in UTF-8».

У VBA, к сожалению, нет встроенной функции перевода в требуемый формат (UTF-8). «Что же делать? Что же делать? Надо выпить».

Можно придумать свой собственный велосипед на тему: «URL Encoding», в соответствии с RFC-3986, можно найти на просторах интернета множество чужих велосипедов разной степени глючности и «доработать напильником», но я бы предложил велосипед не изобретать, а воспользоваться функцией JavaScript encodeURIComponent(), она заменяет «неправильные» символы процентными (escape-) последовательностями, представляющими кодировку символа UTF-8.

КАК НАПИСАТЬ TELEGRAM BOT НА VBA? Vba, Telegram, Telegram бот, Visual basic, Utf-8, Бот, Длиннопост

Это окошко в возможности JavaScript меня уже неоднократно выручало.

Соответственно, функция SendAMessage2TheTelegram будет выглядеть так:

КАК НАПИСАТЬ TELEGRAM BOT НА VBA? Vba, Telegram, Telegram бот, Visual basic, Utf-8, Бот, Длиннопост

Теперь сообщения с русскими буквами прекрасно перевариваются Telegram API. Отдельный вопрос: как узнать id чата, если речь идет о группе или даже конкретной персоне, а не о канале?

Для этого нужно отправить какое-либо сообщение боту из чата, в который вы планируете отправлять сообщения бота.

Например, такое: «/myid @UserNameOfMybot».

После чего посмотреть на историю сообщений бота с помощью команды, которую можно отправить из, например, Google Chrome:

Посмотреть на последние строчки истории и найти собственное сообщение в структуре JSON. Там должен быть и такой фрагмент: «chat»:<"id": 123456789. 123456789- на месте этих цифр должен быть ID чата для переменной ChatID.

Изначально я думал создать на c# com компонент для VBA, с большим набором функций по работе с Telegram. Но нужен ли такой com-компонент? – я пока не решил. Так что этот вопрос тоже можно обсудить.

Команды в Телеграмм для управления ботами

Разработчики мессенджера Телеграмм прикладывают немало усилий, чтобы сделать его особенно полезным. Именно поэтому были разработаны чат-бота, которые являются автоматизированными аккаунтами выполняющие различные задачи. Таким образом, бот – это помогающая «программа», которая будет выполнять Ваши поручения. Команды в Телеграмм для управления ботами помогут Вам в этой задаче.

Как показывает практика, нередко у новых пользователей возникают вопросы с существующими командами. Многие считают, что для использования данных помощников необходимо обладать какими-то сакральными знаниями. На самом деле, Вам требуется всего лишь несколько минут, чтобы разобраться с управлением бота, и после этого он сможет помочь Вам в выполнении ежедневной рутины или давать советы в абсолютно разных сферах жизни.

Если Вы только решаетесь скачать Телеграмм для компьютера, то боты – это огромное преимущество перед альтернативными мессенджерами, так как никто не может похвастаться подобным функционалом.

Рекомендуем! MultiSetup

Официальный дистрибутив Telegram
Тихая установка без диалоговых окон
Рекомендации по установке необходимых программ
Пакетная установка нескольких программ

komandy-v-telegramme-dlya-upravleniya-botami

Правила ведения общения с ботами

Для того, чтобы Ваш персональный помощник смог Вам помочь, потребуется выполнить несколько необходимых шагов:

  • Введите его название полностью или частично в строку поиска и выберите подходящий вариант;
  • Выберите название бота, чтобы открыть окно общения с ним;
  • Начните личное общение с роботизированным помощником;

Большинство ботов имеют стандартизированные команды для облегчения взаимодействия с конечным пользователем, однако каждый разработчик имеет возможность добавить уникальные команды. Все они имеют общую структуру следующего вида: /функция<аргумент>

Первый символ «/» необходим для инициализации команды и является обязательным. Предусмотрено, что общая длина команды не может быть длиннее, чем 32 символа. Как упоминалось ранее, каждый разработчик бота может использовать различные команды. Если Вы желаете получить их полный перечень, то введите символ «/» и ожидайте несколько секунд — список команд появится над полем ввода сообщения.

Для работы с роботом в Телеграмм Вам следует использовать только задокументированные команды. Если Вы введете стороннюю фразу, то программа Вас попросту не поймет. Если Вы только что решили скачать Telegram на iPhone, то, возможно, Вам будет непросто разобраться в данном вопросе, однако вскоре Вам удастся понять принцип работы.

Пример взаимодействия с ботом Sberometer

@SberometerBot – это финансовый помощник, который всегда готов предоставить актуальную информацию о биржевых и официальных курсах валют, текущих ценах на нефтяную продукцию, драгоценные металлы, а также ссылки на новостные ресурсы финансового или энергетического рынка. Получить информацию можно достаточно быстро – необходимо лишь выполнить следующее:

  • Для ознакомления с командами нажать «Списки команд» или ввести «/»;
  • Ввести в диалоговое окно команду «Начать»;
  • Выбрать в поиске @sberometerbot для начала взаимодействия с программой;

komandy-v-telegramme-dlya-upravleniya-botami

Так, например, разработчики данного инструмента предусмотрели следующий список команд, которыми пользуются миллионы профессионалов своего дела:

  • /kurs – показывает соотношение российского рубля и доллара/евро;
  • /gold – демонстрирует актуальную биржевую стоимость золота;
  • /oil – актуальная биржевая стоимость нефти;
  • /news [тема] – показывает три новостные ссылки на выбранную тему;

komandy-v-telegramme-dlya-upravleniya-botami

Главные команды при создании ботов в Телеграмм

Возможность создания персонального помощника доступна абсолютно каждому. Для этого Вам потребуется обратиться к «самому главному» боту — @BotFather, который используется владельцами мессенджера для регистрации новых роботов.

Таким образом, после инициализации общения с данным ботом Вы можете использовать следующие команды для общения с ним:

  • /newbot – команда для создания нового бота;
  • /setname – изменение имени бота;
  • /setdescription – изменение описания для бота, которое будет доступно каждому пользователю;
  • /setabouttext – изменение краткой информации о текущем аккаунте;
  • /setuserpic – изменить основное изображение бота;
  • /setcommands – ввести перечень поддерживаемых команд при использовании символа «/»;
  • /setjoingroups – возможность «включать» бота в пользователей сторонней группы;
  • /deletebot – удалить существующий бот;

Помните, что управление абсолютно любым ботом возможно лишь с помощью @BotFather. Мессенджер предлагает каждому желающему удобный инструмент, который позволит решить абсолютно любые трудности.

Часто используемые команды

Мы упоминали ранее, что каждый бот скорее всего имеет уникальный перечень команд, который пригодится каждому пользователю. Тем не менее, существуют и некоторые другие, которые непременно помогут Вам. Будьте уверены, что практически каждый робот сможет их распознать и дать конкретный ответ на них:

  • /start – инициализирует общение с Вами, является «приветственной» фразой (использование дополнений поможет разнообразить команду);
  • /help – выведение сообщения с полезной информацией, которая поможет пользователю (краткое описание, перечень команд, функций и многое другое);
  • /settings – выведение перечня настроек, которые пользователь может изменять;

Успейте скачать Telegram для Android прямо сейчас, чтобы найти своего персонального помощника. Общее число ботов огромно – вряд ли кто-то сможет дать точный ответ на вопрос, сколько их всего. Будьте уверенны, Вы непременно найдете полезный инструмент для себя!

Команды в «Telegram»: управление ботами

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

Команды в Telegram: зачем нужны и сколько их существует

Команды в Telegram ускоряют работу с приложением.

Но главной фишкой «Телеграмма» всё же являются полезные инструменты, среди которых боты – специальные профили, имитирующие пользователя и созданные для взаимодействия с живыми людьми. Программы, работающие внутри приложения, прописаны под различные функции и действуют по заданным алгоритмам. Они обрабатывают получаемые от пользователя сообщения и, подчиняясь командам, выдают запрашиваемую информацию. Ботов может создавать любой владелец аккаунта приложения, адаптировав под свои нужды, поэтому сказать точно, сколько их в «Телеграмме» на сегодняшний день, невозможно.

Bot «Telegram», реагируя на команду пользователя, может рассылать различную информацию, текстовую или содержащую вложения (фото, аудио, видео или другие файлы), в зависимости от направления, которое присуще конкретному роботу. Многие компании используют этот инструмент для работы с клиентами, для онлайн-консультаций или продаж, так что при помощи ботов «Telegram» можно не только получить рассылку свежих новостей, курса валют, прогноза погоды, но и заказать пиццу, суши, вызвать такси и даже купить билет по выгодной цене.

Как начать общение с ботом

Диалог с любым роботом осуществляется в таком же чате, как и с живыми пользователями «Телеграмм». Начать пользоваться ботом очень просто, но для начала его нужно найти.

  • откройте мессенджер и в строке поиска введите название искомого робота;
  • в результате система выдаст имя нужного контакта, добавьте его;
  • перейдите к диалоговому чату и начните общение командой /start;
  • после этого вам станет доступно меню бота, и можно будет продолжить с ним работу.

Bot «Telegram» взаимодействует с пользователем посредством отправляемых ему запросов, а в некоторых случаях рассылает сообщения по заданному таймеру.

Начало работы с ботом

Как создать бота

Сделать собственного робота и настроить его по своим требованиям может каждый пользователь приложения. Создать заготовку для любого бота, независимо от его предназначения, можно не выходя из «Телеграмм», обратившись к прародителю роботов BotFather. Для этого необходимо:

  • найти и добавить к себе @BotFather; Начало работы с BotFather
  • отправить ему запрос на создание нового бота – команда /newbot;
  • придумать своему детищу имя, в котором окончание «bot» является обязательным;
  • после этих манипуляций BotFather пришлёт вам уникальный ключ-токен, его нужно будет скопировать и сохранить в какой-либо текстовый файл. Этот набор символов понадобится вам для последующей настройки;Создание своего бота
  • фото аккаунта можно поставить, отправив команду /setuserpic, и добавив изображение;
  • заготовка для бота готова, теперь дело за его обучением.

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

  • добавить робота @Chatfuel;
  • использовать команду/addbot и вставить тот самый токен, сохранённый вами при создании заготовки;
  • ваш bot «Telegram» будет сохранён на сервисе Paquebot, где есть возможность прописывать его функционал, наделять новыми умениями и задавать список команд, на которые бот впоследствии будет реагировать.

Установка и настройка Chatfuel

Если вы задумали создать робота со сложными опциями, а навыков программирования не имеете, лучше доверьте дело профессионалам, которые смогут настроить инструмент, учтя все ваши пожелания. Воспользоваться такими услугами можно на любом из сервисов по обучению роботов или найти специалиста в тематических группах «Телеграмм».

Команды «Telegram» для управления ботами

Сосчитать число ботов, а уж тем более количество команд для них нереально, ведь они создаются каждый день и являются уникальными программами, прописанными под определённые действия, поэтому распознаваемые ими коды отличаются. Для того чтобы определить имеющийся функционал бота, в диалоге с ним введите символ «/». При начале работы командой /start или написании косой черты пользователю станет доступен набор всех возможных функций для конкретного робота, а какими они будут – на то уже воля создателя помощника. С символа «/» начинаются все «Telegram» команды, использовать его в начале кода обязательно. При этом общая длина запроса должна составлять не более 32 символов.

К примеру, список основных команд BotFather выглядит так:

  • /newbot – сотворение нового робота;
  • /setname – смена наименования;
  • /setdescription – описание функционала бота;
  • /setabouttext – немного сведений о профиле;
  • /setuserpic – установка фото аккаунта;
  • /setcommands – функции, доступные при наборе символа «/»;
  • /setjoingroups – добавление робота в сообщество;
  • /deletebot – удаление профиля.

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

  • /start – команда, с которой начинается диалог с роботом;
  • /help – помощь пользователю в работе, список возможностей чат-бота и прочая вспомогательная информация;
  • /settings – доступные настройки.

В «Телеграмме» есть возможность делиться интересными ботами со своими друзьями (кнопка Share – поделиться) или добавлять в группы, участником которых является пользователь, решивший это сделать (Add To Group). В лице роботизированного аккаунта можно приобрести отличного помощника для развития вашего бизнеса, значительно сэкономить время на поиске информации или же просто разнообразить свой досуг.

Добавить комментарий

Ваш адрес email не будет опубликован.