Как перезапустить бота в телеграмме

от admin

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

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

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

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

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

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

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

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

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

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

Первый символ «/» необходим для инициализации команды и является обязательным. Предусмотрено, что общая длина команды не может быть длиннее, чем 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 прямо сейчас, чтобы найти своего персонального помощника. Общее число ботов огромно – вряд ли кто-то сможет дать точный ответ на вопрос, сколько их всего. Будьте уверенны, Вы непременно найдете полезный инструмент для себя!

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

В ботах часто используются команды вида “/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 рассматривались в постах ранее. Вот ссылки:

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

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

Аватар сообщества "MS, Libreoffice & Google docs"

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

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-компонент? – я пока не решил. Так что этот вопрос тоже можно обсудить.

Как заново подключиться к боту в Телеграмм (как новый пользователь)?

То есть, чтоб бот воспринял этот аккаунт как совершенно новый?

1)варинт.Переподключ­ ить бота к этому аккаунту уже подключить заново не получится только если удалить этот акккаунт .

2)вариант.Или попбробовать стереть переписку.Найти бота заново.И написать /start.Так же можно запросить у бота /menu и посмотреть его способности возможно там уже будет функция начать заново общение с ботом

Возможность автоматического перезапуска telegram бота после восстановления Интернета

Сертифицирование telegram бота
Создаю telegram бота. Действовал по инструкции ://github.com/akalongman/php-telegram-bot. Создал.

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

Создание бота для Telegram
Всем привет, есть ли те кто создавал ботов для Telegram? Нашел инструкцию на хабре.

Реализовать бота для telegram
Добрый день. Вопрос таков. Как данное задание выполнить со следующими условиями: 1) Запускаться.

Сообщение от Miryz

ну спорить не буду.
только — у меня это работает )))

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

Сообщение от Zanzara75

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

Укажите, пожалуйста, куда копать, чтобы ловить эти исключения

Сообщение от panohin

Меню для бота Telegram
Дайте плес код чтобы сделать менюшку боту))

Подготовка автоматического восстановления
Помогите, недавно перешел с 7-ки на 10 и столкнулся с проблемой. После каждой перезагрузки системы.

Подготовка автоматического восстановления
Всем привет. Случился казус, ноутбук НР, когда включаю, постоянно выдаёт &quot;подготовка.

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

Парсинг с выводом в Telegram через бота
Добрый день! Недавно приступил к изучение данного языка программирования. Ну и вообще первого в.

Проблема с запуском Telegram бота на Python
Пытаюсь написать примитивного бота с использованием pyTelegramBotAPI, но при компиляции вылезает.

Похожие статьи