Session bot Telegram скачать

Создадим файл login-telegram в /usr/bin/:

nano /usr/bin/login-telegram

Пишем туда следующий код:

#!/bin/bash ## here is your bot token TOKEN=»» ## here is your telegram id ID=»» URL more-2013″>/sendMessage» if [ «$PAM_TYPE» != «open_session» ] then exit 0 else curl -s -X POST $URL -d chat_id=$ID -d text=»$(echo -e «Server: `hostname`nUser: $PAM_USERnUser IP: $PAM_RHOST»)» > /dev/null 2>https://bloguser.ru/opoveshhenie-o-vxode-na-server-po-ssh-v-telegram-bot.html» target=»_blank»]bloguser.ru[/mask_link]

Общение ботов телеграм, или авторизация через PHP

Для одного проекта мне понадобилось получать данные от одного бота в автоматическом режиме. То есть при получении сообщений от бота необходимо было их обрабатывать или как-то пересылать дальше. Осложнялось дело тем, что этот бот – чужой, не мой, у меня нет к нему доступов. Что ж, тогда давайте создадим обычный аккаунт и научимся им управлять удаленно.

How to get user session string in Telegram | For #telegram BOTs

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

if (!file_exists(‘madeline.php’)) < copy(‘https://phar.madelineproto.xyz/madeline.php’, ‘madeline.php’); >include ‘madeline.php’; $MadelineProto = new danogMadelineProtoAPI(‘session.madeline’); $MadelineProto->start();

И перейдите к этому файлу в браузере. Первоначально вам необходимо будет зарегистрировать клиент – в автоматическом или ручном режиме. Обратите внимание, что лучше использовать такой аккаунт в телеграм, который не жалко потерять – мало ли куда могут уйти данные!

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

Еще по теме:  Видны ли подписки в Телеграмме другим

В вашей папке появится несколько новых файлов — session.madeline.ipcState.php, madeline-74.phar и тд – не переживайте, это так и должно быть.

Здесь мы получаем последние 20 сообщений данного канала. Как видите, все довольно просто. В MadelineProto есть разные методы – добавления в канал, писать самим и тд. Для моей задачи необходимо было просто получать сообщения – для этого периодически запрашивал принятые сообщения от необходимого контакта, сравнивал с имеющимися в базе данных и если были более новые писал их и отправлял другому боту.

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

Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

заметки, php, telegram

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

Отправка сообщений в Telegram из PHP с обычного аккаунта в обход ограничений Bot API

Отправлять сообщения в Телеграм от бота очень просто, но есть крайне неудобная проблема: из-за ограничений 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, остальное не нужно.

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

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