Как настроить обратную связь в телеграмм канале
В этом статье я расскажу, как можно получать сообщения с форм обратной связи и заказа звонка в ваш Telegram.
Для отправки сообщений мы подключим телеграмовского бота. Отмечу, что его создание и использование абсолютно бесплатно. Процесс настройки состоит из 3 этапов и не должен занять более 10-15 минут. Рассмотрим подробнее каждый из этапов.
1. Создание бота
Для начала, откройте Telegram и найдите специального бота, который поможет вам создать своего собственного. Это можно сделать по ссылке: https://telegram.me/botfather либо набрав в поиске botfather.
В открывшемся чате напишите /start, бот ответит вам списком доступных команд, нас интересует /newbot. После ее ввода, Botfather предложит вам дать имя своему боту. Имя может быть любым, а вот после него вам необходимо будет ввести username бота, который должен быть набран латиницей и обязательно заканчивается на «_bot«. Для своего проекта я выбрал название joomly_test_bot. После создания, бот вернет вам токен доступа в Телеграм, который будет выглядеть как набор цифр и букв на скриншоте. Этот токен нужно сохранить и позднее вставить в настройки модуля, подробнее об этом в пункте 3.
2a. Создание канала
Отправлять сообщения ботом мы будем в специально созданный канал. Если у вас несколько сотрудников, то вам не придется плодить кучу чатов, все подпишутся на канал и будут получать сообщения из одного места.
Откройте основное меню телеграма (иконка «стопки» слева вверху), выберите «New Сhannel», введите название канала и адрес(URL) на новой вкладке. Адрес канала сохраните, его нужно будет вставить в настройки модуля в пункте 3. Важно! Канал в данном примере создается публичным. О создании приватного канала будет рассказано в пункте 2б.
После создания, канал должен появиться в списке контактов. Откройте канал и нажмите на его аватарку, перед вами появиться страница информации. Откройте список админов, нажмите «Add administrator», в окне поиска напишите название вашего бота и выберите его из выпадаюшего списка. На странице прав можно ничего не менять. Бот создан и добавлен в канал, осталось связать его с вашим модулем.
2б. Создание приватного канала
Этот пункт вам потребуется только, если вы собираетесь сделать канал приватным (а я настойчиво рекомендую это сделать!).
Сложность с использованием приватного канала заключается в том, что если для идентификации публичного канала мы можем использовать его адрес(URL), то для приватного нам понадобится узнать Сhat ID канала, а Телеграм не предоставляет для этого удобных инструментов. Ниже я описал два максимально удобных, на мой взгляд, способа, но для начала, я расскажу как сделать канал приватным, если он изначально был сделан публичным.
Найдите канал в списке контактов, откройте и нажмите на аватарку, чтобы попасть на страницу с информацией. Нажмите на иконку шестеренки, далее «Channel type» и поменяйте публичный тип на приватный.
Теперь нам нужно узнать Chat ID нашего канала.
Способ 1: Найдите и добавьте в администраторы канала бота @get_id_bot. Это делается также как в пункте 2a, где мы добавляли в администраторы собственного бота. Далее напишите в своем чате /my_id@get_id_bot и бот вернем Chat ID, который нам необходим в последнем пункте. После этого бота можно удалить.
Способ 2: Откройте ваш чат в браузере в веб-интерфейсе и обратите внимание на набор цифр после символов «=с» и до нижнего подчеркивания «_». Если убрать «с» и дописать перед ними -100, то мы получим наш Chat ID из предыдущего скриншота. Обратите внимание, что айди начинается со знака минус!
3. Настройка модуля
Осталось самое простое — связать ваш модуль (Contactus или Callback) с созданным ботом. Для этого откройте в настройках модуля вкладку «Боты» выберите отправку через Telegram и введите API Token, который вы получили при создании бота в пункте 1 и название чата (чата, не бота!) из пункта 2а, которое должно начинаться с собаки @. Если чат приватный, то вместо название бота вводится Chat ID из пункта 2б. На этом все, теперь все ваши сообщения будут дублироваться в телеграм.
Пример сообщений в чате:
Для чего в Telegram нужен бот обратной связи, как его создать и использовать
В Telegram существует большое количество ботов, помогающих в общении. Их можно создавать самостоятельно. Инструкция по настройке доступна любому пользователю. Одна из таких программ – бот обратной связи в мессенджере Telegram. Он будет полезен интернет-магазинам, блогерам и другим администраторам многочисленных каналов в Телеграме. Наличие такой программы улучшает отношение читателей к группе.
Для чего он нужен
Такой помощник – необходимая вещь для канала с большим количеством подписчиков. Чтобы сделать наполнение группы полезным, нужно знать интересы аудитории. Как проще всего это сделать? Спросить у нее напрямую. Однако не каждый администратор канала готов открыть личную почту всем желающим. У многих интернет-магазинов есть свои чаты в мессенджерах. Для них возможность связаться с клиентом необходима. У будущих покупателей чаще всего возникают вопросы о цене и доставке товаров, но не все люди могут сразу найти нужную информацию.
Как создать бота
Инструкцию по созданию обратной связи в Telegram может выполнить любой пользователь мессенджера. Для создания потребуется @BotFather. Находим его, запускаем и вводим команду /newbot, после чего выбираем имя и username новой программы. Последнее должно заканчиваться на «bot». Если программа выдает ошибку – нужно поменять username. Оно уже занято.
- Копируем уникальный токен. Он пригодится позднее. С помощью команд @BotFather можно дать описание и аватарку и настроить другие характеристики.
- Находим @LivegramBot, запускаем и вводим команду /adbot, после чего вставляем сохраненный токен. В ответ должно прийти уведомление о готовности к работе.
- Запускаем нового бота. После начала появится стандартное сообщение. Его можно проигнорировать. Все приготовления завершены.
- С помощью настроек @LivegramBot можно поменять приветственное сообщение.
Теперь подключаем созданную программу к каналу. Добавьте ее в чат. Обратную связь можно прописать в шапке группы, чтобы подписчикам и рекламодателям было проще найти ее.
Как использовать бота
Он прост в использовании. Подписчик открывает диалог с программой и пишет там вопрос. Та пересылает это сообщение в тот чат, который вы начали, когда активировали ее. Чтобы ответить на письмо собеседника, выберите сообщение и нажмите пункт «Ответить». Ответ будет переслан собеседнику.
Такой бот позволит не только получить обратную связь и дать подписчикам нужный контент, но и ответить адресатам и избежать необходимости открытия большого количества новых чатов. Этот бот открывает возможность всем рекламодателям обратиться к вам напрямую с предложением сотрудничества. И личная почта останется в секрете.
Как подключить канал в Telegram?
Система предоставляет возможность автоматической публикации постов в каналах Telegram.
Для этого в форме подключения группы выберите соц сеть Telegram.
Для канала
Для подключения канала вам необходимо будет добавить в качестве администратора канала бота приложения @GosPublicBot:
Для этого перейдите в настройки канала “Управление канала”:
Перейдите в настройки администраторов канала:
Далее нажмите “Добавить администратора”:
При помощи строки поиска найдите бота @GosPublicBot .
Важно! при поиске бота обратите внимание на то, что в Telegram есть клоны бота, нужно обращать внимание на его наименование и аватар бота после добавления.
После добавления необходимо оставить настройки по умолчанию и нажать “Сохранить”:
Далее вам понадобится ссылка на телеграм канал, которую необходимо будет ввести в форму авторизации:
Ссылку можно получить в настройках “Тип Канала”:
Для Групп
Для подключения группы вам необходимо будет добавить в качестве администратора бота приложения @GosPublicBot:
Для этого перейдите в настройки группы “Управление группой”:
Далее перейдите в блок “Администраторы”:
И нажмите “Добавить администратора”:
При помощи строки поиска найдите бота @GosPublicBot .
Важно! при поиске бота обратите внимание на то, что в Telegram есть клоны бота, нужно обращать внимание на его наименование и аватар бота после добавления.
В настройках добавления при необходимости скрыть подпись бота в постах нужно выставить галочку “Анонимность”, остальные пункты оставить по умолчанию:
После чего необходимо нажать “Сохранить”.
Далее вам понадобится ссылка на телеграм группу, которую необходимо будет ввести в форму авторизации:
Ссылку можно получить в настройках “Тип группы”:
Рубрики
- Обновления
- Популярные статьи
- Начало работы
- Настройки
- Работа с постами
- Аналитика
- Пользователи
- Диалоги
- Редактор изображений
- Аккаунт рабочего кабинета
- Аккаунт ЦУРа
- Новости
Делаем бот для обратной связи в Telegram
Очень полезный помощник для администратора канал в Telegram. Позволяет общаться с подписчиками канала. Все диалоги в одном окне. Возможность использовать весь функционал Телеграм для получения обратной связи.
Вариант бота на Node.js описан в отдельной статье
Немаловажная часть работы администратора Телеграм канала — это конечно же работа с обратной связью. Многое приходит из общения с подписчиками, ведь они и оценивают ваш труд, и подсказывают где у вас недочеты, бывает даже подкинут новую идею. Они всегда будут вам благодарны если вы открыты для общения, и у вас налажена обратная связь, которой удобно и легко пользоваться. В этой статье я хочу поделиться своим ботом для взаимодействия с подписчиками, который я уже использую. Для начала нам в качестве необходимых параметров нам нужно знать наш личный ID Telegram (через бот @userinfobot) и Token API нашего бота. * * *
Начинаем работать
Данные от Bot API приходят в формате application/json, поэтому доступа к ним через массив $_POST нет, и брать их будем в «сыром», необработанном виде через ‘php://input’ используя встроенную функцию PHP file_get_contents(). В работе мы будем использовать кодировку UTF-8, это требование Telegram Bot API. Определим ее в начале скрипта index.php. Создадим класс Bot, для начала добавим ему два приватных свойства и один публичный метод. Очень часто я в коде буду использовать в качестве условного оператора тернарный оператор.
init('php://input'); // Класс Bot class Bot < // токен API private $botToken = "34069ХХХХ:XXXXXXXXXXXX-XXXXXXXXXXXXKVW3qILFpY"; // Ваш ID Telegram private $adminId = 123456789; // инициализируем объект класса public function init($data) < >> ?>
Создадим еще один метод, сделаем его приватным т.к. он нужен нам только внутри класса, вызываться из вне как публичный метод init() он не будет. Его задача будет преобразовывать через функцию json_decode() преданные ему данные из JSON в ассоциативный массив, назовем его getData() .
Для отладки можно создать метод, который будет записывать в файл все результаты работы метода getData(). Это очень удобно, ведь можно посмотреть какую информацию отправляет нам Bot API. На входе он принимает результат метода getData(). Вызывать метод можно вот так: $this->setFileLog($data);
Находим наш бот в Telegram и запускаем его. Бот примет нашу команду Strat/Старт, обработает и запишет результат в файл. Теперь мы можем рассмотреть содержимое файла.
Array ( [update_id] => 22918823 [message] => Array ( [message_id] => 1 [from] => Array ( [id] => 123456789 [is_bot] => [first_name] => Name [last_name] => Surname [language_code] => ru ) [chat] => Array ( [id] => 123456789 [first_name] => Name [last_name] => Surname [type] => private ) [date] => 1512554545 [text] => /start [entities] => Array ( [0] => Array ( [offset] => 0 [length] => 6 [type] => bot_command ) ) ) )
Как видно из содержимого, приходит много служебной информации. Сейчас нас интересует элемент массива $data[‘message’] , который тоже является массивом и содержит в себе информацию, с которой предстоит работать. Проверяя наличие нужных нам ключей в массиве, мы можем определить какой тип данных был отправлен боту. Для данного бота важно определить кто написал, ведь от этого зависит куда направлять сообщение. У нас предусмотрено две роли: администратор и пользователь. Есть еще один участник — это сам бот. Мы его будет определять по специальному флагу, но это чуть позже. * * *
Мои первые ошибки
В начале, когда я делал этого бота, то потратил время на написание лишней логики. Бот принимал сообщения от пользователя проверял тип и направлял его админу как новое сообщение с вложенной кнопкой «Ответить», при нажатии на которую происходила временная запись в файл id пользователя, и бот следующим действием ждал сообщение от админа для ответа пользователю. Получилось много ненужного кода, каких-то проверок и вообще пользоваться было не удобно. Также если админ начал писать ответ, то написать ему еще одно сообщение, даже другому пользователю было нельзя пока админ не закончит. Еще ограничение было если у пользователя не задан @userName, то просмотреть его профиль было никак. Конечно придумать хаки для достижения полной работоспособности этой логики можно было, но все оказалось намного проще.
После создания этого бота в Телеграм добавлена возможность отключения пользователям пересылки, в этом случае бот не может работать в предложенном варианте. Решение этой проблемы не сложное. Обновление скоро будет на сайте.
Решение пришло из официальной документации
Когда сообщение переслано, то в нем видно кто написал, и даже если у пользователя нет @userName мы сможем посмотреть его профиль;