Содержание
30 полезных Telegram-ботов в 2021 — Сервисы на vc.ru
1 538 087
просмотров
Уважаемые подписчики vc.ru! Собрали для Вас список актуальных и полезных ботов Telegram. Подборка, в которой каждый найдёт что-то для себя:
1. Audio Bot — @AudioBot
Бот поможет скачать любимые треки с VK и слушать их без интернета. Аудиозаписи загружаются в кэш и доступны в любой момент.
2. Voicy — @voicybot
Переводчик голосовых сообщений в текстовые.
3. Бот Алёша — @aleksobot
Переводчик исходящих текстовых сообщений в голосовые.
4. SaveAsBot — @SaveAsBot
Загрузчик любого контента из Instagram и TikTok.
5. Yandex.Translate — @YTranslateBot
Инструмент, интегрированный с переводчиком Яндекса.
6. Radio Bot — @radiobot
Бот хранит и отправляет по запросу записи радиоэфиров популярных российских и зарубежных радиостанций. Один час эфира весит менее 15 Мб.
7. Киноман — @kinomanbot
С помощью бота удобно выбирать фильм или сериал для онлайн-просмотра. Также бот предлагает афишу кинотеатров с возможностью сразу купить билеты, новости кино и многое другое.
8. Remind me — @remindmemegabot
Инструмент для быстрых напоминаний.
9. Video to GIF Converter — @vgifbot
Инструмент для конвертации видео в GIF.
10. RSS4YOU — @rss4you_bot
Мониторинг новостей в СМИ и сообществах ВКонтакте.
11. Files Bot — @filesbot
Еще никогда пересылка файлов между пользователями не осуществлялась с помощью бота. А теперь все наоборот. Можно и хранить, и пересылать.
12. Gmail Bot — @GmailBot
Официальный почтовый клиент Gmail.
13. Andy English Bot — @andyrobot
Нужен английский друг, чтобы практиковать язык? Бот в помощь.
14. ImageSearch — @ImageSearchBot
Поиск фотографий на любой вкус и цвет.
15. Tokentik — @TokenTikbot
Бот может скачать видео или песню из TikTok без водяного знака.
16. YoutubeMp3 — @GetYoutubeMp3Bot
Бот поможет скачать видео и музыку в разных форматах из YouTube в хорошем качестве, а также нарезать их на нужные части по вашеу желанию.
17. Stickers — @stickers
Официальный бот Telegram по созданию стикеров. Нужно выбрать имя стикерпака, загрузить фото с прозрачным фоном в формате PNG 512*512 и определить, к какому эмодзи это изображение прикрепить.
18. Avia Sales — @AviaSalesOfficialBot
Ищет авиабилеты и отели.
19. Searchee Bot — @SearcheeBot
Ищет каналы в Telegram по тематике, названию или username.
20. URL Uploade — @UrlUpRobot
Позволяет загружать файлы по URL. Максимальный размер файла — 500 Мб, лимит в день — 1 Гб. Вы даете ссылку боту, а он присылает скачанный файл.
21. Чтение книг онлайн — @eknigabot
Позволяет читать книги без скачивания, ставит закладки.
22. Курсатор — @kursator_bot
Бот подскажет актуальные курсы валют и поможет конвертировать из одной валюты в другую.
23. InMind — @InMindBot
Чат-бот в Телеграме, который помогает учить новые слова на английском, можно настроить уровень сложности.
24. Tube2gif — @tube2gif_bot
Бот конвертирует видео из YouTube в гиф.
25. LikeBot — @like
Позволяет прикреплять к контенту эмодзи-реакции.
26. Instagram Papa — @getpapabot
Собирает и выгружает статистику подписчиков профиля.
27. КриптоБот — @cryptobitbot
Криптобот показывает цену на Bitcoin, Litecoin, Ethereum и некоторые другие криптовалюты. Также выводит графики для всех пар валют, что есть на бирже btc-e.
28. Сонник — @sonnik_bot
Бот для Telegram, который даст толкование вашим снам. Просто напишите, что вам снилось, и он пришлет вам ответ.
29. Погода — @WeathersBot
Бот, который покажет погоду в твоём город!
30. Книги Флибусты — @flibustafreebookbot
Бот для быстрого поиска и скачивания книг.
Приятного использования!
Напишите в комментариях, какими ботами в Telegram пользуетесь Вы!
15 полезных ботов для ведения каналов и чатов в Telegram
BotFather
Combot
Controller Bot
Notepost
BaslayBot
Telegraph
Синхробот Дзена
TGStat Alert Bot
TGStat Bot
Searchee Bot
MotherSearch
Daysandbox
Perebot
Livegram Bot
LikeBot
Боты в Telegram — виртуальные помощники, которым можно поручить часть функций по управлению каналом или чатом. Они берут на себя рутинную работу: помогают организовать постинг, модерировать общение, формировать статистику.
Собрали 15 популярных Telegram-ботов, которые помогают администрировать сообщества в мессенджере.
Что нужно делать | Какой бот подходит |
Готовить отложенные посты и красиво их оформлять | Controller Bot Notepost BaslayBot LikeBot |
Модерировать общение в чатах и давать обратную связь участникам | Combot Notepost Daysandbox Livegram Bot |
Собирать статистику канала/группы | Combot Controller Bot TGStat Alert Bot TGStat Bot |
Интегрироваться с другими сервисами | Telegraph Синхробот Дзена |
Искать информацию в Telegram | Searchee Bot MotherSearch |
Как пользоваться Telegram-ботами
Большинство сервисов работает по такому принципу: вы запускаете бота, добавляете его в свой канал или чат, даёте боту права администратора. После этого он начинает работать.
Для запуска перейдите по ссылке на нужного бота. Когда откроется диалоговое окно, нажмите кнопку «Запустить» — это команда /start. После её активации бот сам расскажет, чем может быть полезен, и объяснит, как начать работу.
Плюс Telegram-ботов в том, что они шаг за шагом ведут пользователя по настройкам. Внимательно читайте сообщения бота, отвечайте на вопросы и выбирайте нужные действия, чтобы настроить виртуального помощника.
Самый главный. С его помощью можно создавать других ботов в Telegram и управлять ими.
Бот умеет:
— Создавать и удалять новых ботов.
— Выдавать и отзывать токены авторизации — это API-ключи, при помощи которых бот подключается к каналу и может работать.
— Редактировать ботов: менять имя, описание, аватарку, команды.
— Изменять настройки встроенной обратной связи и конфиденциальности в группах.
API-ключ можно использовать для Telegram-ботов и сторонних сервисов. Например, так к мессенджеру подключаются чат-боты Unisender
Многофункциональный инструмент с гибкими настройками. Помогает модерировать сообщества любых размеров.
Бот умеет:
— Отправлять приветственные сообщения участникам и отвечать на самые частые вопросы.
— Модерировать сообщения: удалять спам и нежелательный контент, банить пользователей, настраивать запрет на постинг ссылок и многое другое.
— Собирать статистику — количество новых участников, самые активные пользователи, среднее количество сообщений в сутки от одного участника.
Сервис для удобного отложенного постинга. Помогает запланировать и оформить публикации на несколько дней вперёд.
Бот умеет:
— Форматировать текст.
— Добавлять изображения, реакции, URL-кнопки.
— Создавать отложенные посты, настраивать время их публикации и удаления из канала.
— Редактировать публикации.
— Считать статистику канала по количеству участников.
Многофункциональный бот для создания отложенных постов и модерирования сообществ.
Бот умеет:
— Создавать шаблоны публикаций, URL-кнопок, автоподписей.
— Настраивать сценарии постинга: циклические публикации, таймер удаления постов, репосты в другие каналы, отключение комментариев под отдельными постами.
— Подключать интеграцию с Notion, Evernote, Google Calendar, Google Sheets.
— Добавлять водяные знаки на фото, видео, анимации.
— Контролировать рекламу в канале: составлять отчёты для клиента о выходе и удалении публикации, собирать статистику подписчиков и доходов, ставить защиту от случайной публикации, пока висит рекламный пост.
— Поддерживать режим премодерации и настраивать доступ для редакторов канала.
— Автоматически принимать и отклонять заявки на вступление, отправлять приветственные сообщения новым пользователям.
Чтобы пользователю было проще ориентироваться в функционале бота, про обновления и полезные лайфхаки пишут в канале @posting_bots
Ещё один инструмент для отложенного постинга с упором на оформление публикаций. Это сервис от создателей бота Notepost, но с меньшим количеством функций.
Бот умеет:
— Формировать контент-план из запланированных и опубликованных постов.
— Настраивать таймер публикации и открепления постов, автоповторы.
— Наводить порядок в медиа-файлах и редактировать альбомы.
— Добавлять водяные знаки на фото, видео и альбомы.
— Редактировать и менять расположение кнопок, добавлять кнопку комментариев.
Пригодится тем, кто часто публикует лонгриды. Команда Telegram создала специальный текстовый редактор Telegra.ph. В нём удобно писать и форматировать длинные тексты. Пользователям статья отправляется в виде ссылки — они видят красиво оформленную страницу, не выходя из мессенджера.
Бот помогает:
— Быстро войти в редактор для постинга Telegra.ph.
— Управлять публикациями.
— Собирать статистику просмотров статей.
Сервис для тех, кто ведёт канал в Яндекс.Дзен.
Бот умеет:
— Публиковать посты из Telegram-канала прямо в Дзен.
— Определять и транслировать только те публикации, которые подходят под формат Дзена — посты объёмом меньше 1500 символов, без видео и gif-файлов.
Можно настроить автоматический постинг или отбирать публикации для переноса в Яндекс.Дзен вручную.
Инструмент для мониторинга репутации в мессенджере.
Бот умеет:
— Отслеживать упоминания о канале.
— Отслеживать свежие публикации в каналах и чатах по ключевым словам.
— Отправлять уведомления о репостах, упоминаниях и новых постах.
Бот для сбора статистики от сервиса Telegram Analytics. Это проект с открытой статистикой, который регулярно проводит исследования аудитории Telegram, публикует рейтинги каналов и публикаций. Сервис доступен на 5 языках и автоматически индексирует русскоязычные, украинские, англоязычные, узбекские и белорусские публичные каналы.
Бот умеет:
— Отслеживать количество подписчиков в динамике.
— Считать охваты постов и просмотры статей в Telegra.ph.
— Собирать статистику по вовлечённости.
— Мониторить индекс цитирования.
Сервис для поиска каналов по разным тематикам. Пригодится новостникам и тем, кто регулярно отслеживает повестку по своей сфере.
Бот умеет искать каналы в Telegram по тематике и названию.
Ещё один поисковой сервис. Работает как Google внутри Telegram.
Бот умеет искать посты по запросу. В выдаче показывается общее количество публикаций с найденным текстом и сами посты — от новых к старым.
Антиспам-бот, помогает модерировать сообщества с большим количеством участников.
Бот умеет:
— Удалять посты с ссылками от участников, вступивших в чат меньше суток назад.
— Удалять изображения и видео от новых пользователей.
— Удалять любые сообщения от новых пользователей в течение заданного времени.
Двуязычные меню и поддержка. Есть подробная инструкция, как быстро подключить и настроить бота
Бот-переводчик пригодится админам чатов, куда заглядывают англоязычные пользователи.
Бот умеет переводить с английского на русский и с русского на английский.
Конструктор ботов для обратной связи в Telegram. Инструмент позволяет общаться с аудиторией анонимно и оперативно отвечать на вопросы пользователей.
Бот умеет:
— Подключать администраторов к диалогу с пользователями, при этом ответы отправляются от имени бота, а не конкретного человека.
— Поддерживать разные форматы сообщений — текстовые, фото- и видеофайлы, стикеры, голосовые сообщения.
— Сохранять контакты и историю диалогов.
— Делать рассылку сообщений пользователям.
— Сохранять статистику по отправленным сообщениям и вовлечённым пользователям.
Простой инструмент для оформления реакций к постам.
Бот умеет добавлять к публикациям кнопки с эмодзи и лайками.
В декабре 2021 года Telegram выпустил обновление, в котором реакции на сообщения стали встроенной функцией.
Визуально публикации смотрятся по-разному, поэтому использование отдельных кнопок с эмодзи — дело вкуса и дизайна канала.
Поделиться
СВЕЖИЕ СТАТЬИ
Другие материалы из этой рубрики
Не пропускайте новые статьи
Подписывайтесь на соцсети
Делимся новостями и свежими статьями, рассказываем о новинках сервиса
Статьи почтой
Раз в неделю присылаем подборку свежих статей и новостей из блога. Пытаемся
шутить, но получается не всегда
Оставляя свой email, я принимаю Политику конфиденциальности
Наш юрист будет ругаться, если вы не примете 🙁
Как запустить email-маркетинг с нуля?
В бесплатном курсе «Rock-email» мы за 15 писем расскажем, как настроить email-маркетинг в компании. В конце каждого письма даем отбитые татуировки об email ⚡️
*Вместе с курсом вы будете получать рассылку блога Unisender
Оставляя свой email, я принимаю Политику конфиденциальности
Наш юрист будет ругаться, если вы не примете 🙁
Как создать Telegram-бота
Чат-боты часто называют революцией в том, как пользователи взаимодействуют с технологиями и бизнесом. У них довольно простой интерфейс по сравнению с традиционными приложениями, поскольку они требуют от пользователей только общения в чате, а чат-боты должны понимать и делать все, что от них требует пользователь, по крайней мере, теоретически.
Многие отрасли переносят обслуживание клиентов на системы чат-ботов. Это связано с огромным снижением стоимости по сравнению с реальными людьми, а также с надежностью и постоянной доступностью. Чат-боты обеспечивают определенную степень поддержки пользователей без существенных дополнительных затрат.
Сегодня чат-боты используются во многих сценариях, начиная от простых задач, таких как отображение данных о времени и погоде, и заканчивая более сложными операциями, такими как элементарная медицинская диагностика и общение/поддержка клиентов. Вы можете разработать чат-бота, который поможет вашим клиентам, когда они будут задавать определенные вопросы о вашем продукте, или вы можете создать личного чат-бота-помощника, который может выполнять основные задачи и напоминать вам, когда пора идти на встречу или в спортзал.
Существует множество вариантов, где вы можете развернуть своего чат-бота, и одним из наиболее распространенных вариантов использования являются платформы социальных сетей, так как большинство людей используют их на регулярной основе. То же самое можно сказать и о приложениях для обмена мгновенными сообщениями, хотя и с некоторыми оговорками.
Telegram — одна из самых популярных платформ обмена мгновенными сообщениями на сегодняшний день, так как она позволяет хранить сообщения в облаке, а не только на вашем устройстве, и может похвастаться хорошей многоплатформенной поддержкой, так как вы можете иметь Telegram на Android, iOS, Windows и почти любая другая платформа, которая может поддерживать веб-версию. Создание чат-бота в Telegram довольно просто и требует нескольких шагов, которые занимают очень мало времени. Чат-бота можно интегрировать в группы и каналы Telegram, а также он работает самостоятельно.
В этом уроке мы создадим бота Telegram, который предоставит вам изображение аватара из Adorable Avatars. Наш пример будет включать создание бота с использованием Flask и его развертывание на бесплатном сервере Heroku.
Для выполнения этого руководства вам потребуется установленный в вашей системе Python 3, а также навыки программирования на Python. Кроме того, хорошее понимание того, как работают приложения, было бы хорошим дополнением, но не обязательным, так как мы подробно рассмотрим большую часть того, что представляем. Вам также необходимо установить Git в вашей системе.
Конечно, для обучения также требуется учетная запись Telegram, которая бесплатна. Вы можете зарегистрироваться здесь. Также требуется учетная запись Heroku, и вы можете получить ее бесплатно здесь.
Оживление вашего бота Telegram
Чтобы создать чат-бота в Telegram, вам необходимо связаться с BotFather, который по сути является ботом, используемым для создания других ботов.
Вам нужна команда /newbot
, которая приводит к следующим шагам для создания вашего бота:
Ваш бот должен иметь два атрибута: имя и имя пользователя. Имя будет отображаться для вашего бота, а имя пользователя будет использоваться для упоминаний и обмена.
После выбора имени бота и имени пользователя, которое должно заканчиваться на «бот», вы получите сообщение, содержащее ваш токен доступа, и вам, очевидно, потребуется сохранить свой токен доступа и имя пользователя на потом, так как они вам понадобятся. .
Закодируйте логику чат-бота
В этом руководстве мы будем использовать Ubuntu. Для пользователей Windows большинство приведенных здесь команд будут работать без проблем, но если у вас возникнут какие-либо проблемы с настройкой виртуальной среды, перейдите по этой ссылке. Что касается пользователей Mac, это руководство должно работать нормально.
Сначала создадим виртуальную среду. Это помогает изолировать требования вашего проекта от вашей глобальной среды Python.
$ python -m venv botenv/
Теперь у нас будет каталог botenv/
, который будет содержать все библиотеки Python, которые мы будем использовать. Активируйте virtualenv
с помощью следующей команды:
$ source botenv/bin/activate
Библиотеки, которые нам нужны для нашего бота:
- Flask: микровеб-фреймворк, построенный на Python.
- Python-telegram-bot: оболочка Telegram на Python.
- Запросы: популярная http-библиотека Python.
Вы можете установить их в виртуальной среде с помощью команды pip следующим образом:
(telebot) $ pip install flask (телебот) $ pip install python-telegram-bot (телебот) $ pip запросы на установку
Теперь давайте просмотрим каталог нашего проекта.
. ├── app.py ├── телебот │ ├── учетные данные.py │ | . │ | Здесь вы можете построить свой двигатель │ | . │ └── __init__.py └── ботенв
В файле учетных данных .py
нам понадобятся три переменные:
bot_token = "вот ваш токен доступа от BotFather" bot_user_name = "имя пользователя, которое вы ввели" URL = "ссылка на приложение heroku, которую мы создадим позже"
Теперь вернемся к нашему app. py и шаг за шагом пройдемся по коду:
# импортируем все из фляги импорт фляги, запрос импортная телеграмма из telebot.credentials импортировать bot_token, bot_user_name, URL
глобальный бот глобальный ТОКЕН ТОКЕН = bot_token бот = телеграмма.Бот (токен = ТОКЕН)
Теперь у нас есть объект бота, который будет использоваться для любого действия, которое мы требуем от бота.
# запустить приложение фляги приложение = фляга (__имя__)
Нам также необходимо привязать функции к определенным маршрутам. Другими словами, нам нужно сообщить Flask, что делать, когда вызывается определенный адрес. Более подробную информацию о Flask и маршрутах можно найти здесь.
В нашем примере функция маршрута отвечает на URL-адрес, который в основном имеет вид /{токен}
, и это URL-адрес, который Telegram будет вызывать для получения ответов на сообщения, отправленные боту.
@app.route('/{}'.format(TOKEN), методы=['POST']) деф ответ(): # получить сообщение в формате JSON, а затем преобразовать его в объект Telegram update = telegram. Update.de_json(request.get_json(force=True), бот) chat_id = update.message.chat.id msg_id = обновление.сообщение.message_id # Telegram понимает UTF-8, поэтому кодируйте текст для совместимости с юникодом текст = обновить.сообщение.текст.кодировать('utf-8').декодировать() # только для отладки print("получил текстовое сообщение:", текст) # приветственное сообщение при первом общении с ботом если текст == "/старт": # напечатать приветственное сообщение bot_welcome = """ Добро пожаловать в бот coolAvatar, бот использует сервис http://avatars.adorable.io/ для создания классных аватаров на основе введенного вами имени, поэтому введите имя, и бот ответит аватаром для вашего имени. """ # отправить приветственное сообщение bot.sendMessage(chat_id=chat_id, text=bot_welcome, answer_to_message_id=msg_id) еще: пытаться: # очищаем полученное сообщение от любых не алфавитов текст = re.sub(r"\W", "_", текст) # создайте ссылку API для аватара на основе http://avatars. adorable.io/ url = "https://api.adorable.io/avatars/285/{}.png".format(text.strip()) # ответьте фотографией на имя, которое прислал пользователь, # обратите внимание, что вы можете отправлять фотографии по URL-адресу, и Telegram доставит их для вас bot.sendPhoto(chat_id=chat_id, фото=url, answer_to_message_id=msg_id) кроме исключения: # если что-то пошло не так bot.sendMessage(chat_id=chat_id, text="Возникла проблема с именем, которое вы использовали, введите другое имя", answer_to_message_id=msg_id) вернуть "хорошо"
Интуитивно понятный способ заставить эту функцию работать — мы будем вызывать ее каждую секунду, чтобы она проверяла, пришло ли новое сообщение, но мы этого делать не будем. Вместо этого мы будем использовать Webhook, который позволяет боту вызывать наш сервер всякий раз, когда вызывается сообщение, так что нам не нужно заставлять наш сервер страдать в цикле while, ожидая прихода сообщения.
Итак, мы создадим функцию, которую нам самим нужно вызывать, чтобы активировать Webhook Telegram, по сути сообщая Telegram вызывать определенную ссылку при поступлении нового сообщения. Мы вызовем эту функцию только один раз, когда впервые создадим бота. Если вы измените ссылку на приложение, вам нужно будет снова запустить эту функцию с новой ссылкой, которая у вас есть.
Маршрут здесь может быть любым; вы тот, кто позвонит:
@app.route('/setwebhook', method=['GET', 'POST']) защита set_webhook(): # мы используем объект бота, чтобы связать бота с нашим приложением, которое работает # в ссылке предоставленной URL s = bot.setWebhook('{URL}{HOOK}'.format(URL=URL, HOOK=TOKEN)) # что-то, чтобы мы знали, что все работает если с: вернуть "настройка вебхука в порядке" еще: вернуть "установка веб-хука не удалась"
Теперь, когда все настроено, давайте просто создадим причудливую домашнюю страницу, чтобы мы знали, что движок работает.
@app.route('/') индекс определения(): возвращаться '.' если __name__ == '__main__': # обратите внимание на многопоточный аргумент, который позволяет # ваше приложение должно иметь более одного потока app.run(threaded=Истина)
Давайте посмотрим на полную версию app.py:
import re из фляги импорт фляги, запрос импортная телеграмма из telebot.credentials импортировать bot_token, bot_user_name, URL глобальный бот глобальный ТОКЕН ТОКЕН = bot_token бот = телеграмма.Бот (токен = ТОКЕН) приложение = фляга (__имя__) @app.route('/{}'.format(TOKEN), методы=['POST']) деф ответ(): # получить сообщение в формате JSON, а затем преобразовать его в объект Telegram update = telegram.Update.de_json(request.get_json(force=True), бот) chat_id = update.message.chat.id msg_id = обновление.сообщение.message_id # Telegram понимает UTF-8, поэтому кодируйте текст для совместимости с юникодом текст = обновить.сообщение.текст.кодировать('utf-8').декодировать() # только для отладки print("получил текстовое сообщение:", текст) # приветственное сообщение при первом общении с ботом если текст == "/старт": # напечатать приветственное сообщение bot_welcome = """ Добро пожаловать в бот coolAvatar, бот использует сервис http://avatars. adorable.io/ для создания классных аватаров на основе введенного вами имени, поэтому введите имя, и бот ответит аватаром для вашего имени. """ # отправить приветственное сообщение bot.sendMessage(chat_id=chat_id, text=bot_welcome, answer_to_message_id=msg_id) еще: пытаться: # очищаем полученное сообщение от любых не алфавитов текст = re.sub(r"\W", "_", текст) # создайте ссылку API для аватара на основе http://avatars.adorable.io/ url = "https://api.adorable.io/avatars/285/{}.png".format(text.strip()) # ответьте фотографией на имя, которое прислал пользователь, # обратите внимание, что вы можете отправлять фотографии по URL-адресу, и Telegram доставит их для вас bot.sendPhoto(chat_id=chat_id, фото=url, answer_to_message_id=msg_id) кроме исключения: # если что-то пошло не так bot.sendMessage(chat_id=chat_id, text="Возникла проблема с именем, которое вы использовали, введите другое имя", answer_to_message_id=msg_id) вернуть "хорошо" @app. route('/set_webhook', методы=['GET', 'POST']) определение set_webhook(): s = bot.setWebhook('{URL}{HOOK}'.format(URL=URL, HOOK=TOKEN)) если с: вернуть "настройка вебхука в порядке" еще: вернуть "установка веб-хука не удалась" @app.route('/') индекс определения(): возвращаться '.' если __name__ == '__main__': app.run(threaded=Истина)
Это последний фрагмент кода, который вы напишете в нашем руководстве. Теперь мы можем перейти к последнему шагу, запуску нашего приложения на Heroku.
Запустите наше приложение на Heroku
Нам нужно несколько вещей, прежде чем мы создадим наше приложение.
Heroku не может знать, какие библиотеки использует ваш проект, поэтому мы должны сообщить об этом, используя файл requirements.txt
— распространенная проблема заключается в том, что вы неправильно пишете требования, поэтому будьте осторожны — для создания файла требований используйте pip:
пунктов замораживания > требования. txt
Теперь у вас есть готовый файл требований.
Теперь вам нужен Procfile
, который сообщает Heroku, где запускается наше приложение, поэтому создайте файл Procfile
и добавьте следующее:
web: gunicorn app:app
Шаг возврата: вы можете добавить в проект файл .gitignore
, чтобы неиспользуемые файлы не загружались в репозиторий.
На панели управления Heroku создайте новое приложение. Как только вы это сделаете, он направит вас к Развернуть страницу . Затем откройте вкладку Settings в новом окне и скопируйте домен приложения, который будет выглядеть примерно так: https://appname.herokuapp.com/
и вставьте его в переменную URL внутри учетных данных.py
.
Теперь вернитесь на вкладку Развертывание и выполните шаги:
Примечание: Пользователи Windows и macOS могут выполнить шаги, описанные здесь.
Войти в Heroku:
$ вход в героку
Обратите внимание, что этот метод иногда зависает в ожидании входа в систему
, если это произойдет с вами, попробуйте войти, используя:
$ heroku login -i
Инициализировать репозиторий Git в нашем каталоге:
$ git init $ heroku git:remote -a {имя-проекта-героку}
Разверните приложение:
$ git add . $ git commit -m "первая фиксация" $ git push геройку мастер
На этом этапе вы увидите ход строительства в своем терминале. Если все прошло нормально, вы увидите что-то вроде этого:
удаленный: -----> Запуск... удаленный: выпущен v6 удаленный: https://project-name.herokuapp.com/ развернут в Heroku удаленный: удаленный: Проверка развертывания... выполнена.
Теперь перейдите на страницу приложения (ссылка домена, который вы скопировали ранее) и добавьте в конец ссылки /setwebhook
, чтобы адрес был примерно таким: https://appname.herokuapp.com/setwebhook
. Если вы видите webhook setup ok
, это означает, что вы готовы к работе!
Now Go Talk to Your Bot
Живая версия бота
Последние штрихи, советы и хитрости
Теперь у вас есть бот Telegram, работающий 24 часа в сутки, 7 дней в неделю, без вашего вмешательства. Вы можете добавить к боту любую логику, которую хотите, например, вы можете сделать своего бота более реалистичным, добавив статус «печатание» и отправив статус фотографии следующим образом:
Следующий фрагмент кода из response() Функция
:
, если текст == "/start": # напечатать приветственное сообщение bot_welcome = """ Добро пожаловать в бот coolAvatar, бот использует сервис http://avatars. adorable.io/ для создания классных аватаров на основе введенного вами имени, поэтому введите имя, и бот ответит аватаром для вашего имени. """ # отправить приветственное сообщение bot.sendChatAction(chat_id=chat_id, action="ввод") сон(1.5) bot.sendMessage(chat_id=chat_id, text=bot_welcome, answer_to_message_id=msg_id) еще: пытаться: # очищаем полученное сообщение от любых не алфавитов текст = re.sub(r"\W", "_", текст) # создайте ссылку API для аватара на основе http://avatars.adorable.io/ url = "https://api.adorable.io/avatars/285/{}.png".format(text.strip()) # ответьте фотографией на имя, которое прислал пользователь, # обратите внимание, что вы можете отправлять фотографии по URL-адресу, и Telegram доставит их для вас bot.sendChatAction(chat_id=chat_id, action="upload_photo") спать(2) bot.sendPhoto(chat_id=chat_id, фото=url, answer_to_message_id=msg_id) кроме исключения: # если что-то пошло не так bot. sendMessage(chat_id=chat_id, text="Возникла проблема с именем, которое вы использовали, введите другое имя", answer_to_message_id=msg_id)
Как вы можете видеть во фрагменте, мы добавили действие ввода, когда собираемся отправить информацию о боте в текстовом формате, и добавили действие загрузки фотографии, когда мы собираемся отправить фотографию, чтобы сделать бота более реалистично. Другие действия можно найти здесь.
Вы также можете изменить изображение и описание бота с канала BotFather, чтобы сделать его более дружелюбным.
Многие другие простые примеры ботов для телеграмм можно найти на странице python-telegram-bot на GitHub.
Вы можете использовать нашего бота и сделать его следующим суперроботом с искусственным интеллектом — все, что вам нужно сделать, это интегрировать свою логику в функцию response()
. Например, ваша логика может быть в отдельном модуле и вызываться внутри функции response()
следующим образом:
. ├── app.py ├── телебот │ ├── учетные данные.py │ ├──ai.py │ | . │ | Здесь вы можете построить свой двигатель │ | . │ └── __init__.py └── ботенв
И внутри ai .py :
по определению generate_smart_reply(текст): # здесь мы можем делать всю нашу работу вернуть "это умный ответ от ИИ!"
Импортируйте сейчас в приложение .py :
import re из времени импортировать сон из фляги импорт фляги, запрос импортная телеграмма Из telebot.ai импортируйте generate_smart_reply из telebot.credentials импортировать bot_token, bot_user_name, URL
Затем просто вызовите его внутри кода response()
.
по умолчанию ответить(): # получить сообщение в формате JSON, а затем преобразовать его в объект Telegram update = telegram.Update.de_json(request.get_json(force=True), бот) chat_id = update.message.chat.id msg_id = обновление.сообщение.message_id # Telegram понимает UTF-8, поэтому кодируйте текст для совместимости с юникодом текст = обновить. сообщение.текст.кодировать('utf-8').декодировать() # только для отладки print("получил текстовое сообщение:", текст) # здесь вызовите свое смарт-ответное сообщение ответ = generate_smart_reply(текст) bot.sendMessage(chat_id=chat_id, текст=ответ, answer_to_message_id=msg_id)
Теперь вы можете заставить своего бота работать так, как вы хотите, — вперед и создайте следующую большую вещь!
Надеюсь, вам понравилось создавать своего первого бота Telegram.
Дополнительные ресурсы
- Создание чат-бота с помощью Telegram и Python
- Простая настройка веб-хука Telegram Bot
- Репозиторий Python-телеграммы
- Развертывание с помощью Git на Heroku
- Документация по Python Telegram Bot
Связанные:
Создайте чат-бота WhatsApp, а не приложение
Как создать чат-бота Telegram
Чат-бот — это автоматизированный многофункциональный помощник, который может получать и отправлять триггерные сообщения, а с помощью SendPulse ваш бот может сохранять информацию в виде переменных для будущего использования.
Следуйте пошаговой инструкции, чтобы создать своего первого чат-бота для мессенджера Telegram или подключить существующий к SendPulse для дальнейшей настройки.
Если у вас уже есть бот, пропустите первый абзац и посмотрите следующий раздел.
Как создать нового бота для Telegram
Откройте мессенджер Telegram, войдите в свою учетную запись или создайте новую.
Шаг 1. Введите @Botfather на вкладке поиска и выберите этого бота.
Официальные боты Telegram имеют синюю галочку рядом со своим именем.
Нажмите «Старт», чтобы активировать бота BotFather.
В ответ вы получаете список команд для управления ботами.
Шаг 2 . Выберите или введите команду /newbot
и отправьте ее.
Шаг 3. Выберите имя для своего бота — ваши подписчики увидят его в переписке. И выберите юзернейм для своего бота — бота можно найти по его юзернейму в поиске. Имя пользователя должно быть уникальным и заканчиваться словом «бот».
После выбора подходящего имени для вашего бота — бот создан. Вы получите сообщение со ссылкой на вашего бота t.me/
Для подключения бота к SendPulse нужен токен. Скопируйте значение вашего токена и найдите дополнительную информацию о подключении вашего бота к SendPulse в последнем разделе этой статьи.
Как найти токен для существующего бота
Шаг 1. Перейдите к боту @BotFather и отправьте команду /token
.
Вы увидите кнопки со всеми созданными вами ботами.
Шаг 2. Выберите тот, для которого вам нужен токен, чтобы вы могли подключить его к Sendpulse.
Скопируйте значение токена.
Как подключить бота к SendPulse
Перейдите в раздел «Чат-боты» в личном кабинете SendPulse. Если у вас ранее не было подключено ни одного канала, нажмите Подключить .
Если вы уже подключили ботов, перейдите в раздел «Управление ботами» и нажмите Добавить бота . Вы также можете нажать «Подключиться» рядом с каналом.
В разделе «Telegram» введите свой токен от нужного бота и нажмите «Подключиться».
В следующем окне нажмите кнопку «Подписаться».
Вы будете перенаправлены в приложение Telegram, нажмите кнопку «Старт» и вы будете подписаны на своего бота.
После успешного подключения чат-бота вы получите его приветственный поток, бот появится в вашем списке ботов, и вы сможете начать создавать приветственные и триггерные потоки или массовые кампании.
Обратите внимание, существующие подписчики не импортируются в вашу аудиторию чат-бота SendPulse. После того, как вы подключите своего бота, вы сможете собирать подписчиков с помощью виджета на сайте или напрямую делиться ссылкой на своего бота t.