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

watchdog_robot telegram bot

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

Установка

Следуйте этим шагам:

Фильтры

Список фильтров, с которыми может работать Watchdog Robot. Первое слово (цветное) в каждой строке — это название фильтра. Используйте это имя в командах /watchdog block и /watchdog allow.

Например, вы хотите заблокировать стикеры и ссылки в Интернете. Используйте две команды: «/watchdog block sticker» и «/watchdog block link». Также вы можете указать несколько фильтров в одной команде, например, /стикер блока сторожевого таймера, ссылка .

Команды

  • /watchdog block FILTER — указать сторожевому роботу удалить сообщения, соответствующие этому фильтру. Вы можете указать несколько фильтров, разделенных запятыми.
  • /watchdog allow FILTER — разрешить сообщения, соответствующие этому фильтру.
  • /watchdog config — см. конфигурацию Watchdog Robot для текущего чата
  • /watchdog set notify_actions = yes — попросить бота отображать сообщение о том, что какое-то сообщение было удалено
  • /watchdog set notify_actions = no — указать боту удалять сообщения без уведомления
  • /watchdog check — проверить, правильно ли установлен бот.
  • /watchdog reload_admins — попросить бота перезагрузить список администраторов для текущего чата. Список администраторов собирается один раз и кешируется. Используйте эту команду для обновления кэшированных данных.
  • /watchdog analyze — напишите эту команду в ответ на существующее сообщение, чтобы увидеть, какие фильтры вы можете использовать для блокировки этого типа сообщений.
  • /watchdog add domain-whitelist FOO — добавить домен FOO в список разрешённых доменов
  • /watchdog remove domain-whitelist FOO — удалить домен FOO из списка разрешённых доменов
  • /watchdog add user-whitelist ID — добавить пользователя в белый список, т.е. разрешить любое сообщение от этого пользователя. Здесь ID — это числовой идентификатор Telegram пользователя.
  • /watchdog wluser — добавить пользователя в белый список, т.е. разрешить любое сообщение от этого пользователя. Используйте эту команду в ответ на сообщение пользователя, которого вы хотите добавить в белый список.
  • /watchdog remove user-whitelist ID — удалить ID из списка пользователей из белого списка
  • /watchdog delwluser — удалить пользователя из белого списка. Используйте эту команду в ответ на сообщение пользователя, которого вы хотите удалить из белого списка.

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

Вопросы и ответы

Как проверить правильность установки бота?

Сначала выполните инструкции по установке. Затем введите в чат эту команду: /watchdog check . Устраните все проблемы, о которых говорит бот.

Почему Watchdog не пинает других ботов?

Во-первых, убедитесь, что вы указали сторожевому таймеру сделать это с помощью команды /watchdog block bot . Во-вторых, убедитесь, что вы дали сторожевому таймеру разрешение блокировать других пользователей.

Как сделать, чтобы бот не удалял некоторые ссылки?

Вы можете запретить все ссылки с помощью фильтра «link» и добавить нужные домены в список «domain-whitelist», чтобы бот не удалял ссылки на эти домен. Например, чтобы разрешить ссылки на twitter.com выполните эту команду /watchdog add domain-whitelist twitter.com

Источник: tgdev.io

Пример создания своего чат-бота для Телеграм

Привет, друзья! На волне тренда мессенджеров и чат-ботов, наконец, добралась до создания своего бота в Телеграме. Реализовала простенького бота-помощника, а заодно решила поделиться с вами инструкцией, как я это сделала. Кроме того, в мой адрес звучали вопросы такого типа: как через бота отдавать подарок новым подписчикам. В общем-то, я этим тоже озадачилась.

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

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

Выглядит эта менюшка следующим образом:

Пример создания своего чат-бота для Телеграм

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

Еще по теме:  В какую папку скачиваются файлы из Телеграмма

Какие возможности есть у бота?

1) Создание пользовательских команд и ответов на них.

2) Создание меню из команд. Это удобно, так как пользователям не надо вводить команды, а можно использовать для навигации готовое меню.

3) Возможность отправлять сообщения подписчикам (в том числе отложенные), просматривать количество подписчиков в боте.

4) Несколько языков интерфейса, в том числе русский.

5) Можно настроить автопостинг в бота из rss блога или сайта, а также с YouTube-канала, ВК, Твиттер.

Как создать своего Телеграм-бота?

Я записала пошаговую видеоинструкцию — пример создания простого бота с меню:

Посмотреть на моего бота в действии вы можете здесь . В диалоге с ним нажмите «Начать» (Start), дальнейшие действия он вам подскажет.

Итак, для начала создания своего Телеграм-бота, зайдите на сайт manybot.io, там нажмите по кнопке «Создать бота». Вас перебросит на первоначальные инструкции.

Пример создания своего чат-бота для Телеграм

Пример создания своего чат-бота для Телеграм

Нужно перейти на Manybot в Телеграме и нажать «Начать» (Start) в чате с ботом, чтобы получить дальнейшие инструкции.

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

Пример создания своего чат-бота для Телеграм

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

Первым делом вводим команду /addbot или просто жмем по ней в полученном от бота сообщении.

Пример создания своего чат-бота для Телеграм

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

Следующим шагом нужно напечатать в диалоге с BotFather команду /newbot и следовать дальнейшим подсказкам. А именно:

1) На английском нам предлагают указать название (имя) своего будущего бота. Я его назвала ViktoriaHelps и отправила это название в диалоге BotFather.

2) Далее указываем логин для бота. Обязательное условие, чтобы логин оканчивался на bot. Можно написать концовку слитно или через нижнее подчеркивание: _bot.

3) После этого получила сообщение с поздравлением, что мой бот создан, ссылку на него в Телеграм, а также токен, который мне нужно скопировать.

Пример создания своего чат-бота для Телеграм

Далее возвращаюсь к диалогу с Manybot (выбираю его в контактах слева) и отправляю в чат сообщение со скопированным токеном.

Пример создания своего чат-бота для Телеграм

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

Отправив Manybot описание, вижу сообщение, что мой бот успешно создан. Чтобы он появился в контактах слева, перейдите по ссылке на него и нажмите в чате «Начать».

Пример создания своего чат-бота для Телеграм

Кстати, описание бота в любое время можно отредактировать. Делается это через команду /setdescription в диалоге с Manybot.

Пример создания своего чат-бота для Телеграм

Настраиваем команды и меню в боте

Далее переходим к настройкам нашего бота и переключаемся на диалог с ним. Жмем внизу чата «Начать».

В ответ получаем сообщение с описанием нашего бота (то, что мы указали на предыдущем шаге). Его же будут видеть и подписчики вашего бота.

Пример создания своего чат-бота для Телеграм

В сообщении ниже отобразится меню для управления вашим ботом (его видите только вы, как владелец бота). Если это сообщение не появилось, вы можете вызвать его сами, введя в чат команду /help или выбрав раздел «Помощь» в меню бота.

В этом сообщении отображаются команды, которые вы можете использовать для управления ботом. Например, чтобы отправить новое сообщение подписчикам, воспользуйтесь командой /newpost. Просто кликните по ней, либо отправьте в диалог боту и следуйте дальнейшим подсказкам. То же и с другими командами.

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

Для этого в меню под полем ввода сообщения кликаем по пункту «Пользовательские команды».

Пример создания своего чат-бота для Телеграм

Выбираем «Создать команду».

Пример создания своего чат-бота для Телеграм

Указываем название нашей команды – оно должно быть латиницей и без пробелов. Название может содержать цифры и нижнее подчеркивание (для разделения слов). Перед командой используем значок слеш (косую черту) /.

Пример создания своего чат-бота для Телеграм

Вводим команду в поле сообщения и жмем Enter.

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

Пример создания своего чат-бота для Телеграм

Мой пример ответа ниже, чтобы его сохранить, жмем «Enter», а затем кнопку «Сохранить».

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

Еще по теме:  В Телеграмме создать ярлык что это

Пример создания своего чат-бота для Телеграм

Кстати, при создании команды мы можем добавить вопрос – обычный, развернутый, с вариантами ответа. Чтобы добавить вопрос, следуйте подсказкам бота.

Пример создания своего чат-бота для Телеграм

Пример создания своего чат-бота для Телеграм

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

Пример создания своего чат-бота для Телеграм

Откроется новое меню, в котором вы сможете выбрать желаемое действие.

Пример создания своего чат-бота для Телеграм

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

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

Пример создания своего чат-бота для Телеграм

Пример создания своего чат-бота для Телеграм

2) Затем нажать «Добавить сообщения к команде».

Пример создания своего чат-бота для Телеграм

3) Вводим новый ответ, отправляем боту, сохраняем.

Пример создания своего чат-бота для Телеграм

4) Получаем сообщение, что команда успешно отредактирована.

Пример создания своего чат-бота для Телеграм

Чтобы вернуться к предыдущему меню, нажимаем «Назад».

Как добавить команду в меню бота?

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

Нажимаем по кнопке «Настроить главное меню».

Пример создания своего чат-бота для Телеграм

Выбираем «Добавить пункт меню».

Пример создания своего чат-бота для Телеграм

Выбираем нашу ранее созданную команду.

Пример создания своего чат-бота для Телеграм

Вводим название для данного пункта меню и отправляем боту. Например, я назову «Перейти в блог».

Пример создания своего чат-бота для Телеграм

Видим, что новый пункт добавился в меню!

Пример создания своего чат-бота для Телеграм

Далее, если проскроллим эту менюшку вниз, увидим кнопки для добавления нового пункта меню. Все точно также – сначала создаем команду, затем добавляем ее в меню.

А также кнопку возврата на предыдущее меню.

Как удалить команду из меню?

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

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

Опять же, проскроллив менюшку вниз, вы увидите кнопки «Переименовать» и «Убрать пункт из меню». Выбираете нужное действие и следуете подсказкам бота.

Пример создания своего чат-бота для Телеграм

Например, я просто удалю пункт «Перейти в блог» из меню.

Пример создания своего чат-бота для Телеграм

Вернуться к главному меню и настройкам бота

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

Пример создания своего чат-бота для Телеграм

Пример создания своего чат-бота для Телеграм

Пример создания своего чат-бота для Телеграм

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

Пример создания своего чат-бота для Телеграм

Пример создания своего чат-бота для Телеграм

Ну а в пункте «Настройки» главного меню можно подключать Телеграм-каналы для постинга из бота, настроить автопостинг из RSS, Twitter, YouTube, VK. А также настроить часовой пояс.

Пример создания своего чат-бота для Телеграм

Пример создания своего чат-бота для Телеграм

Как увидеть меню своего бота и покликать по нему в качестве нового пользователя?

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

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

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

С уважением, Виктория Карпова

ТАКЖЕ РЕКОМЕНДУЮ ЭТИ МАТЕРИАЛЫ:

Источник: o-zarabotkeonline.ru

Telegram-бот: от первой строчки до размещения

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

Что этот бот будет делать?

Отправлять письма

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

Сохранять всякое разное

Я очень много использую Telegram и часто натыкаюсь там на интересные для меня ссылки или просто на полезную информацию. Хотелось бы, чтобы бот сохранял все то, что я ему пересылаю, в базе данных SQL.

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

Для API Telegram есть оболочки практически на любом языке программирования. Начиная от Python, PHP и Java и заканчивая Node.js. Мы, разумеется, будем использовать Python. Код данной оболочки находится здесь, можете убедиться сами. Также можно поучаствовать в развитии данного проекта (если сможете, конечно). Оболочки для других языков можно найти здесь.

Еще по теме:  В Телеграмме много занимает файлы другие приложения

Наш бот

Чат с BotFather для получения ключей API

Создание Telegram-бота это весьма забавный процесс так как, собственно, весь он строится на вашем общении с Telegram-ботом. Зовут этого бота BotFather (Бот-Отец). В приложении Telegram его можно найти по имени и начать с ним беседу.

Для начала беседы наберите /start .

Вы увидите список команд, при помощи которых можно создавать боты, редактировать их и управлять ними. Так как мы зашли в первый раз, то выбираем /newbot .

После введения команды /newbot вам предстоит выбрать имя и ник (username) для вашего бота. Имя — это то, как пользователи будут видеть этого бота в своем контакт-листе. А ник — имя, по которому этот бот можно будет найти в приложении Telegram. Это то же самое как и ник в Twitter, он должен быть уникальным, и чем короче, тем лучше.

Сделав это, вы получите API-ключ для вашего бота. С помощью него Telegram сможет ассоциировать написанный вами код именно с этим конкретным ботом. У каждого бота есть свой API- ключ, и вы не должны им ни с кем делиться. В противном случае ваш бот можно будет взломать и осуществить злодейские планы.

Код

Начнем с того, что импортируем все необходимое.

from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, ConversationHandler from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove import logging import sqlite3 from mail import send_mail from sensitive import tok, user_id, name, username

Предназначение библиотек logging и sqlite3 вполне видно из их названий. Они будут использоваться для логирования и сохранения всего, что нам потребуется. В файле sensitive содержаться мои учетные данные, а в telegram.ext хранятся все необходимые обработчики.

Updater — это класс, в котором используется telegram.ext.Dispatcher. Он предоставляет интерфейс для telegram.Bot, чтобы можно было сосредоточиться исключительно на программировании бота. Его цель — получать обновления от Telegram и доставлять их указанному диспетчеру. Он также запускается в отдельном потоке, поэтому пользователь может взаимодействовать с ботом, например, из командной строки. Диспетчер поддерживает обработчики для различных типов данных: обновления от Telegram, основные текстовые команды и даже произвольные типы. Класс Updater может быть использован как служба опроса, а для получения обновлений можно использовать вебхук (webhook). Это достигается с помощью классов WebhookServer и WebhookHandler .

MessageHandler — класс для обработки Telegram-сообщений. Они могут содержать текст, различные медиафайлы или обновления статуса.

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

Команды

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

Email

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

Как вы могли заметить, функцию send_mail() я импортировал из модуля mail . Для отправки почтовых сообщений используется протокол SMTP.

def send_mail(to, subject, body, my=me): smt = smtplib.SMTP(‘smtp.gmail.com’, 587) smt.ehlo() smt.starttls() smt.login(user=my, password=pwd) sub = subject body = body message = «Subject: » + sub + «n» + body + «n» smt.sendmail(my, to, message) smt.quit()

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

Вот и всё?

Вообще-то нет. Вам еще осталось все это запустить.

def main(): «»»Start the bot.»»» updater = Updater(TOKEN) dp = updater.dispatcher dp.add_handler(CommandHandler(«start», start)) dp.add_handler(CommandHandler(«help», help)) dp.add_handler(CommandHandler(«add_event», add_event)) dp.add_handler(CommandHandler(«view_events», view_events)) dp.add_handler(CommandHandler(«remove_event», remove_event)) email_handler = ConversationHandler( entry_points=[CommandHandler(’email’, email)], states=< TO: [MessageHandler(Filters.text, to, pass_user_data=True)], SUBJECT: [MessageHandler(Filters.text, subject, pass_user_data=True)], MESSAGE: [MessageHandler(Filters.text, body, pass_user_data=True)] >, fallbacks=[CommandHandler(‘cancel’, cancel)] ) dp.add_handler(email_handler) dp.add_error_handler(error) updater.start_polling() updater.idle()

Размещение кода

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

  1. Pythonanywhere : бесплатно и просто. Откройте терминал и в нем запустите файл с вашим ботом. Но не ждите, что он будет работать долго.
  2. Heroku: не будем изобретать колесо. Вот здесь дана пошаговая инструкция по размещению на сервисе Heroku.

Вот здесь также собраны инструкции по размещению Telegram-ботов.

Источник: pythonist.ru

Рейтинг
( Пока оценок нет )
Загрузка ...