Бот в Телеграмме не работает при отправке информации на сервер

Отправлять сообщения в Телеграм от бота очень просто, но есть крайне неудобная проблема: из-за ограничений Telegram Bot API бот не может писать первым. То есть, сначала пользователь, которому вы собрались что-нибудь отправить, должен первым написать вашему боту любое сообщение. Это ограничение вполне разумно и предотвращает спам сообщениями от ботов, но очень мешает честным людям. Например, отправлять сервисные сообщения с информацией о заказе в интернет-магазине.

Решение этой проблемы только одно: не использовать ботов. Придётся всё делать с обычного аккаунта.

Копаться в подробностях телеграмовского протокола MTProto не нужно, как оказалось, всё уже сделано до нас. Для PHP существует чудесная библиотека MadelineProto. Её мы и будем использовать, ниже пошаговая инструкция.

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

2. Нужно зарегистрировать приложение. Просто формальная процедура. Для этого идём на сайт https://my.telegram.org/, логинимся через ваш аккаунт в Телеграме. Лучше всего, чтобы этот аккаунт не совпадал с акаунтом из пункта 1. Далее переходим на страницу https://my.telegram.org/apps, заполняем поля (платформа — Web, остальное не так важно), отправляем форму. Всё готово — приложение создано. Вас перенаправит на страницу настроек, запоминаем оттуда поля App api_id и App api_hash, остальное не нужно.

КАК ЗАПУСТИТЬ TELEGRAM БОТА ИЛИ ПАРСЕР НА СЕРВЕРЕ

3. Теперь нужно установить библиотеку MadelineProto. Делается это очень легко. Создаём на веб-сервере папку, в неё помещаем php-файл (например, index.php) со следующим содержимым:

include ‘madeline.php’; $MP = new danogMadelineProtoAPI(‘session.madeline’); $MP->start();

Созданный скрипт должен иметь права на запись в папку. Библиотека требует PHP 7, но у меня всё завелось на PHP 5.6.

4. Запускаем созданный php-файл из браузера. На первом шаге выбираем Manually, затем вставляем значения полей App api_id и App api_hash из пункта 2, ждём, выбираем User, указываем телефонный номер акаунта из пункта 1, получаем на него смс, вводим код, готово — вы залогинились в Телеграме из вашего веб-приложения.

Еще по теме:  Как устанавливать игры на Айфон через Телеграмм

5. Переходим непосредственно к программированию. Весь код мы будем дописывать в имеющийся php-файл из пункта 3. У библиотеки MadelineProto есть хорошая документация, но некоторые моменты не очень понятны с первого раза.

Для отправки сообщений нужно использовать метод sendMessage :
$MP->messages->sendMessage([‘peer’ => », ‘message’ => »]);

Здесь peer — ID получателя, message — текст сообщения. И вот тут есть загвоздка: а где, собственно, взять айдишник пользователя, которому мы будем слать сообщения, если мы знаем только номер телефона?

Для этого проще всего добавить телефон получателя во внутренний список контактов. Делается это так:
$contact = [‘_’ => ‘inputPhoneContact’, ‘client_id’ => 0, ‘phone’ => ‘+79xxxxxxxxx’, ‘first_name’ => », ‘last_name’ => »]; $import = $MP->contacts->importContacts([‘contacts’ => [$contact]]); // $import[‘imported’][0][‘user_id’] — ID пользователя

Здесь мы указываем phone — номер телефона, first_name и last_name — имя и фамилия (можно указать любые, это не важно). В переменной $import[’imported’][0][’user_id’] будет содержаться ID нашего получателя. Хорошо бы его куда-нибудь сохранить у себя, чтобы можно было использовать дальше.

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

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

Как создать своего бота для Telegram за 10 минут

Favorite

Как создать своего бота для Telegram за 10 минут

Без единой строчки кода!

Telegram — мессенджер, созданный Павлом Дуровым в 2013 году, которым пользуется свыше 100 миллионов человек во всем мире. Помимо переписки с живыми людьми в нем можно общаться с ботами, программами которые в ответ на запросы пользователя выдают какую-либо информацию. Примеры интересных ботов:

  • Игра Что? Где? Когда?
  • Поиск паролей от Wi-Fi
  • Проверка штрафов ГИБДД
  • Бот экспертно-поисковой системы Wolfram Alpha
  • MyCookBot (вводите продукты, которые у вас есть и получаете рецепты блюд, которые можно из них приготовить)

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

Еще по теме:  Жизнь насекомых Телеграмм канал чей

Есть два пути создания ботов. Первый — написать приложение с помощью Telegram API, а второй — воспользоваться сервисом для создания ботов. Один из таких, manybot.io, мы будем использовать в статье.

Устанавливаем Telegram

Инструкцию из статьи можно выполнить в версии Telegram для любой платформы:

  • Android
  • iOS
  • Windows Phone
  • Windows/Linux/OS X (по ссылке откроется версия для операционной системы с которой сидите)
  • Веб-приложение

Сама я буду использовать версию для OS X, так как без полноценной клавиатуры создавать бота не совсем удобно.

Создаем бота

1. Набираем в поиске Manybot, кликаем на значок бота и нажимаем на кнопку Start:

start_many_bot

add_new_bot

2. Нажимаем на кнопку Добавить нового бота:

6. Вводим имя бота, которое будет отображаться при поиске и техническое имя бота, копируем полученный API-токен:

botfather_copy_api_token

end_create_bot

manybot_description

8. Указываем описание бота:

bot_is_ready

9. Бот готов:

start_using_bot

10. Находим свой бот через поиск и начинаем пользоваться:

Создаем свою команду

В хорошем боте должны быть команды. Чтобы пользователь вводил запрос, а в ответ ему приходило что-то интересное/полезное. Вот инструкция, как создать простейшую команду:

1. Набираем /commands:
commands_insert
2. Набираем имя новой команды и текст, который она будет выдавать в ответ (при желании к тексту можно прикрепить файлы):
command_and_answer


3. Нажимаем кнопку Сохранить и дожидаемся завершения создания команды:
save_command

telegram_edit_command

Для того, чтобы отредактировать команду /hello надо набрать /commands, /hello:

test_telegram_in_other_account

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

Добавляем пункт в меню

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

commands_menu

1. Набираем /commands:

add_menu

2. Нажимаем на кнопку Настроить главное меню, а затем на кнопку Добавить пункт меню:

test_add_menu

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

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

Включаем автопостинг из соцсетей

В ботах можно настроить трансляцию новостей из Twitter, Youtube, VK или RSS.

1. Набираем команду /autoposting:
autoposting_start
2. Нажимаем кнопку с нужной соцсетью и указываем ссылку на страницу:
add_link

Создаем отложенный пост

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

1. Набираем команду /newpost:
start_new_post
2. Вводим текст поста и нажимаем на кнопку Отложить пост, указываем текущее время:
create_new_post
3. Указываем время поста и сохраняем пост:
set_post_time

Собираем данные

Еще с помощью ботов можно проводить опросы среди подписчиков:

create_new_commands

1. Набираем /commands, выбираем пункт меню Создать команду и вводим имя для новой команды:

create_question

2. Нажимаем на кнопку Добавить вопрос, выбираем тип ответа и вводим текст вопроса:

create_command

3. Нажимаем на кнопку Сохранить и получаем уведомление об успешном создании команды:

forms_answers

4. Ответы на вопрос можно посмотреть в Главное меню-> Ответы на формы -> название команды:

Вот и все, что нужно знать, чтобы создать простейшего бота. Больше информации о функциях, которые может добалять manybot.io можно узнать, если набрать в своем боте команды /help.

Если нужно что-то посложнее

Возможности ботов Telegram гораздо шире, чем те которые есть у ботов, созданных на платформе code.telegram.org можно почитать подробнее о Telegram API и создании приложений на его основе.

Кстати, для расширения кругозора рекомендую статью 10 фактов о Telegram, которые ты не знаешь.

(22 голосов, общий рейтинг: 4.59 из 5)
Хочешь больше? Подпишись на наш Telegram.

Favorite

Без единой строчки кода! Telegram — мессенджер, созданный Павлом Дуровым в 2013 году, которым пользуется свыше 100 миллионов человек во всем мире. Помимо переписки с живыми людьми в нем можно общаться с ботами, программами которые в ответ на запросы пользователя выдают какую-либо информацию. Примеры интересных ботов: Игра Что? Где? Когда? Поиск паролей от Wi-Fi Проверка.

  • Telegram,
  • полезный в быту софт

Источник: www.iphones.ru

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