Диалог с ботом должен быть похожим на этот:
А теперь давайте научим бот команде, по которой он будет отправлять случайное фото какого-нибудь милого животного. Для этого нужно сперва запастись парой или больше фото. Но есть способ лучше. Можно воспользоваться списком доступных апи, которые могут выдать некое фото. Возьмём для примера https://aws.random.cat/meow .
Приступим к написанию команды:
bot.command(«photo», async (ctx) => const response = await fetch(«https://aws.random.cat/meow»); const data = await response.json(); return ctx.replyWithPhoto(data.file); >);
Enter fullscreen mode
Exit fullscreen mode
Всё выглядит логичным, но в NodeJS эта команда не сработает и даже не запустится скрипт. Потому что у него нет команды fetch и нам нужно её установить: npm i node-fetch -S . Итого, к настоящему времени файл bot.js должен начинаться с таких строк:
3 УРОК — ОБРАТНАЯ СВЯЗЬ И ОБРАБОТКА ФАЙЛОВ, СТИКЕРОВ, ФОТО | ПОЛНЫЙ КУРС ПО AIOGRAM
require(«dotenv»).config(); const fetch = require(«node-fetch»); const Telegraf > = require(«telegraf»);
Enter fullscreen mode
Exit fullscreen mode
Напомню: первая строка делает доступным обращение к файлу .env (который можно добавить в .gitignore, тем самым никому не рассказав свой ключ); вторая строка- мы сделали сейчас, подключили команду fetch; третья строка- подключение библиотеки telegraf.
Бот можно запустить командой node bot.js, но давайте сразу же оформим запуск командой. В раздел scripts файла package.json добавьте команду dev-bot:
«scripts»: < «dev-bot»: «node edu.js» >,
Enter fullscreen mode
Exit fullscreen mode
И теперь после запуска скрипта npm run dev-bot можно убедиться, что всё работает:
Итак, всё у нас работает, можно закончить на этом, но . выше вы видели список многих апи, которые возвращают фото. Хотелось бы сделать так, что бы бот выдавал фото по какому-то признаку или скачивал по одному из каждого апи и выдавал это альбомом.
Рассмотрим эти возможности по-порядку.
Скачивание фото по признаку
Для этого нужно подготовить сам бот, чтобы он мог понять команду, например, такую: /photo dog , а если вызывать /photo без параметров, то бот понимал бы, что от него хотят любое фото.
Команда для бота — это, в принципе, текст сообщения, которое начинается с символа / . Поэтому разбор введённой строки может быть таким:
const whatAnimal = ctx.message.text.split(» «)[1] || «»;
Enter fullscreen mode
Exit fullscreen mode
Здесь мы получаем часть строки, которая начинается после первого пробела. И да, такой подход имеет право быть, но я предложу способ лучше. В telegraf можно написать свой мидлвар, который бы обрабатывал вводимый текст и снабжал наш чат некоей дополнительной информацией. Например- параметры команды.
Вот сейчас мы и напишем такой мидлвар:
Enter fullscreen mode
Exit fullscreen mode
Сохраните эти строки в файле lib/commandParts.js и подключите их в bot.js:
require(«dotenv»).config(); const fetch = require(«node-fetch»); const Telegraf > = require(«telegraf»); const commandParts = require(«../lib/commandParts»); // Создать бота с полученным ключом const bot = new Telegraf(process.env.TELEGRAM_TOKEN_EDU); // Подключить мидлвар bot.use(commandParts); .
Enter fullscreen mode
Exit fullscreen mode
Команда для бота будет выглядеть по-другому:
bot.command(«photo», async (ctx) => const chatId = ctx.message.chat.id; // Получение аргументов const args = «» > = ctx.state.command; // Возможно стоит проверить: верные аргументы пришли или нет const whatAnimal = args; // Пользователь, не скучай, я начал работу ctx.telegram.sendMessage(chatId, «Ищу фото . «); // Запрос урла картинки const url = await randomAnimal(whatAnimal); // Предусмотрительно защититься от null, который может внезапно прийти из апи (увы, да) if (!url) return ctx.reply(«Поиск фото не удался»); > // А это что- gif, что ли пришёл, да? const extension = url.split(«.»).pop(); if (extension.toLowerCase() === «gif») // Если gif, значит оформить анимешку return telegram.sendAnimation(chatId, url); > return ctx.telegram.sendPhoto(chatId, url); >);
Enter fullscreen mode
Exit fullscreen mode
Здесь появляется новая функция randomAnimal, которая записана в файле lib/animalPhoto . Вот его листинг:
Enter fullscreen mode
Exit fullscreen mode
О чём эти функции: Если параметр команды не пустой, то обращаемся к случайному апи, сгруппированным по параметру. Иначе- выбирается случайный апи. После вызова возвращается урл картинки.
Итак, в завершении этой заметки файл bot.js теперь стал таким:
require(«dotenv»).config(); const Telegraf > = require(«telegraf»); const commandParts = require(«./lib/commandParts»); const randomAnimal > = require(«./lib/animalPhoto»); // Создать бота с полученным ключом const bot = new Telegraf(process.env.TELEGRAM_TOKEN_EDU); // Подключить мидлвар bot.use(commandParts); // Обработчик начала диалога с ботом bot.start((ctx) => ctx.reply( `Приветствую, $ ctx.from.first_name ? ctx.from.first_name : «хороший человек» >! Набери /help и увидишь, что я могу.` ) ); // Обработчик команды /help bot.help((ctx) => ctx.reply(«Справка в процессе»)); // Обработчик команды /whoami bot.command(«whoami», (ctx) => const id, username, first_name, last_name > = ctx.from; return ctx.replyWithMarkdown(`Кто ты в телеграмме: *id* : $id> *username* : $username> *Имя* : $first_name> *Фамилия* : $last_name> *chatId* : $ctx.chat.id>`); >); bot.command(«photo», async (ctx) => const chatId = ctx.message.chat.id; // Получение аргументов const args = «» > = ctx.state.command; // Возможно стоит проверить: верные аргументы пришли или нет. // Но это Вам на домашнее задание 😉 const whatAnimal = args; // Пользователь, не скучай, я начал работу ctx.telegram.sendMessage(chatId, «Ищу фото . «); // Запрос урла картинки const url = await randomAnimal(whatAnimal); // Предусмотрительно защититься от null, который может внезапно прийти из апи (увы, да) if (!url) return ctx.reply(«Поиск фото не удался»); > // А это что- gif, что ли пришёл, да? const extension = url.split(«.»).pop(); if (extension.toLowerCase() === «gif») // Если gif, значит оформить анимешку return telegram.sendAnimation(chatId, url); > return ctx.telegram.sendPhoto(chatId, url); >); // Обработчик простого текста bot.on(«text», (ctx) => return ctx.reply(ctx.message.text); >); // Запуск бота bot.launch();
Enter fullscreen mode
Exit fullscreen mode
Работа бота будет такой:
В следующий раз я расскажу, как выдавать фото-альбомы.
Источник: dev.to
Как создавать посты в Telegram канале и группе через чат-бота SendPulse
Конструктор чат-ботов от SendPulse позволяет не только создавать чат-бота с автоответами для Telegram, но и создавать полезные посты и отправлять в канал и группу от бота. Вы сможете создавать запланированные посты или отправлять их сразу, делать красивое визуальное оформление, добавляя кнопки со ссылкам, картинки и файлы.
В статье рассмотрим, как добавить чат-бота администратором канала и группы и создать рассылку.
Содержание
Как добавить чат-бота в канал Telegram
Добавление чат-бота администратором не отличается для частных и публичных каналов.
Чтобы добавить чат-бота в канал администратором, перейдите к настройкам вашего канала. В мобильном приложении нажмите на иконку канала в правом верхнем углу и нажмите «Администраторы». В десктопной версии приложения нажмите на три точки в правом верхнем углу и выберите «Управление каналом» > «Администраторы».
Нажмите «Добавить администратора». В поисковой строке введите название или никнейм вашего чат-бота и нажмите на него.
Настройте разрешения для чат-бота и нажмите «Готово». Ваш чат-бот появится в списке администраторов канала.
Как добавить чат-бота в группу Telegram
Вы можете добавить чат-бота в вашу группу администратором через настройки SendPulse или вручную.
При добавлении бота в общие группы он распознает, какой участник группы к нему обратился. В зависимости от этого, запустится свой сценарий цепочки. В диалоге будет отображено, какой пользователь использовал бот в группе.
Через настройки
Чтобы добавить чат-бота в группу администратором, на странице управления ботом перейдите во вкладку «Каналы и группы» и нажмите «Добавить в группу».
В открывшемся окне нажмите «Send message».
Далее вы перейдете в приложение Telegram. В поисковой строке введите название вашей группы, нажмите на нее.
Настройте разрешения для чат-бота и нажмите «Назначить бота администратором».
В следующем окне подтвердите добавление чат-бота администратором группы.
Вручную
Добавление чат-бота администратором отличается для частных и публичных групп, а также для частных групп с включенной историей чата.
Добавление в частную группу
Чтобы добавить чат-бота в частную группу, перейдите к настройкам вашей группы. В мобильном приложении нажмите на иконку группы в правом верхнем углу и нажмите «Пригласить». В десктопной версии приложения нажмите на три точки в правом верхнем углу и выберите «Управление группой» > «Администраторы» > «Добавить администратора».
В поисковой строке введите название или никнейм вашего чат-бота и нажмите на него. В следующем окне нажмите «Да».
Далее перейдите к настройкам вашей группы и нажмите «Изменить». Зайдите в меню «Администраторы» и нажмите «Добавить администратора».
В поисковой строке введите название или никнейм вашего чат-бота, или выберите его в списке участников группы. Настройте разрешения для чат-бота и нажмите «Готово». Ваш чат-бот появится в списке администраторов группы.
Добавление в публичную группу или в частную группу с включенной историей чата
Чтобы добавить чат-бота в публичную группу или в частную группу с включенной историей чата, перейдите к настройкам вашей группы. В мобильном приложении нажмите на иконку группы в правом верхнем углу и нажмите «Пригласить». В десктопной версии приложения нажмите на три точки в правом верхнем углу и выберите «Управление группой» > «Администраторы» > «Добавить администратора».
В поисковой строке введите название или никнейм вашего чат-бота и нажмите на него. Нажмите «Готово».
Далее перейдите к настройкам вашей группы и нажмите «Изменить». Зайдите в меню «Администраторы» и нажмите «Добавить администратора».
В поисковой строке введите название или никнейм вашего чат-бота, или выберите его в списке участников группы. Настройте разрешения для чат-бота и нажмите «Готово». Ваш чат-бот появится в списке администраторов группы.
Как проверить канал или группу в аудитории чат-бота
Во вкладке «Аудитория» вы можете проверить добавились ли ваши канал и группа в подписчики бота.
Обратите внимание: канал или группа добавится в подписчики бота в аккаунт SendPulse, когда у канала или группы будет больше чем один живой подписчик и после того как администратор отправит любое сообщение в канал или группу.
Как просмотреть канал или группу, где чат-бот является администратором
Чтобы просмотреть группы и каналы, в которые вы добавили вашего чат-бота администратором, на странице управления ботом перейдите во вкладку «Каналы и группы».
Также в чате с вашей группой или каналом вы можете просмотреть количество подписанных участников и скопировать публичную ссылку подписки или ссылку-приглашение.
Как отправить рассылку в канал или группу
Перейдите в раздел «Чат-боты» и нажмите «Создать рассылку».
Отправить рассылку в канал или группу вы можете только на платном тарифе.
В выпадающем меню выберите группу или канал, в которых вы добавили вашего чат-бота администратором.
Введите текст сообщения, добавьте переменные и эмодзи. Также вы можете добавлять кнопки, картинки, файлы, аудио и видео, а также дополнительный текст.
Введите название рассылки и выберите время отправки. Для опции «Отправить позже» укажите дату и время отправки.
Здесь отображается актуальное количество участников канала или группы, которым отправится рассылка.
Источник: sendpulse.com
Как подключить бота к каналу в Telegram — добавление и активация в группе или в беседе
Полезное
Автор Анна Сергеева На чтение 5 мин Просмотров 9.8к.
Чтобы вести канал на высоком уровне, следует узнать, как добавить бота в «Телеграмме». Такие помощники сделают пост привлекательным для читателей, ответят на все их вопросы. Я расскажу вам о возможностях сервиса.
Добавление ботов в Telegram
«Телеграм» – многофункциональное приложение. Здесь пользователь может общаться, обмениваться новостями, видео, вести группу по интересам или заниматься бизнесом.
Для организации эффективной работы в мессенджере существуют боты.
Искусственный интеллект выполняет всю рутинную работу:
- занимается поиском информации в интернете;
- скачивает текст, видео, музыку;
- создает рассылки;
- оформляет статьи;
- комментирует;
- проводит опросы;
- выполняет функцию «Автопостинга»;
- ведет беседу;
- переводит и т.д.
Взаимодействие с искусственным интеллектом осуществляется в беседе, начало к которой открывает кнопка «Старт». Затем все просто – набирайте команды или нажимайте кнопки-подсказки.
На канал или в группу
Чтобы робот мог начать работу в группе или на канале, его надо туда поставить:
- Войдите в мессенджер.
- Откройте группу или создайте новую.
- Тапните по аватарке вверху страницы.
- Перейдите в раздел «Добавить участников».
- Введите в поисковик название робота.
- Выберите из списка нужный адрес.
- Нажмите кнопку «Пригласить».
- Подтвердите действие.
Также читайте: Нюансы загрузки старой версии Telegram на смартфон
В чат
Загрузить чат-бота можно также через настройки виртуального помощника:
- Найдите робота – воспользуйтесь любым из предложенных выше способов.
- Откройте диалог.
- Нажмите на его название вверху страницы.
- Кликните по значку «3 точки».
- Выберите в новом меню команду «Добавить в группу».
- Выделите название чата из списка или введите его никнейм.
- Активируйте действие.
Таким же образом можно присоединить bot к любому каналу или группе.
Как назначить бота администратором
Бот-администратор – необходимый помощник для раскрутки канала, поддержания к нему интереса аудитории.
Чтобы применить все возможности искусственного интеллекта, лучше включить несколько роботов, т.к. каждый из них ограничен небольшим набором функций:
- публиковать сообщения;
- подключать абонентов;
- редактировать текст;
- создавать рассылки;
- собирать статистику и т.п.
Алгоритм назначения виртуального помощника администратором одинаков на всех устройствах:
- Войдите в приложение.
- Откройте нужный канал или создайте новый.
- Тапните по никнейму, расположенному вверху экрана.
- Зайдите в настройки, нажав на иконку с изображением шестеренки.
- Выберите раздел «Администратор».
- Щелкните «Добавить администратора».
- Кликните по боту, введя в поисковой строке его название.
- Установите для него разрешения для действий в канале.
- Нажмите «Сохранить».
Многие виртуальные помощники дают инструкцию о том, как добавить бота в «Телеграме» в канал. Они также могут запрашивать ссылки-приглашения и самостоятельно присоединяться к ресурсу.
Настройка бота в Telegram
В «Телеграме» можно использовать не только готовых помощников, но и сделать своего робота, под свои задачи.
Для этого у вас есть 3 способа:
- Если вы владеете программированием, то сможете прописать бота с помощью специального редактора Telegram API.
- Когда нет необходимых навыков, но хотите продвинутого помощника и для этого у вас есть достаточно средств, закажите робота у специалистов.
- Сделать самостоятельно с помощью сервиса.
Подключение
Первые шаги при создании виртуального ассистента:
Теперь пришло время приступить к настройке, для этого:
Ваш виртуальный ассистент создан. Теперь зайдите в ваш bot и создайте пост.
Написание команд
Чтобы ваш помощник правильно реагировал на запросы абонентов, стоит прописать для него специальные команды.
Нужно сказать, что бот уже владеет набором стандартных программ.
Добавление кнопок
Чтобы активировать кнопки к новому посту:
- Войдите в ваш бот.
- Создайте сообщение.
- Выберите из списка «Добавить URL-кнопки» или «Добавить реакции».
Возможные проблемы с добавлением бота
Если бот не работает, причин может быть несколько:
- неправильно набранная команда;
- программа блокирована мессенджером;
- в коде допущена ошибка;
- устаревшая версия приложения.
Обзор
Источник: telegramguru.info