telegram бот для сайта

M
На сайте с 20.08.2004
Offline
376
#11

Не совсем понимаю механизм подвязывания пользователя с сайта к вайберу. или я многого хочу?

Есть пользователи хочу уведомления слать им с их разрешения на телеграм или вайбер. Как это сделать?

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

всем спасибо

отец сыночка, лапочки дочки и еще одного сыночка
SocFishing
На сайте с 26.09.2013
Offline
118
#12

Miracle, механизм следующий.

- создать бота https://youtu.be/eQrTCHW2UqY

- пользователь должен запустить бота (кнопка старт) или что-то ему написать

- таким образом вы можете получить ID пользователя в телеграм и сможете ему писать от имени этого же бота.

Приведу примеры с библиотекой выше.


require_once "vendor/autoload.php";
define('TELEGRAM_TOKEN', '123123123:AAGvbu2qgQ7lcqsrht');

function getlogins() {
$bot = new \TelegramBot\Api\Client(TELEGRAM_TOKEN);
$msg_list = $bot->getUpdates(0,25,10);
$bot->getUpdates(-1,25,10);
$arr = [];
if (isset($msg_list[0]['message']))
foreach ($msg_list as $key => $value) {
if (isset($value['message']['from']['username']) && isset($value['message']['from']['id']))
$arr[mb_strtolower($value['message']['from']['username'])] = (int)$value['message']['from']['id'];
}
return $arr;
}

function sendmsg($id, $text){
$bot = new \TelegramBot\Api\Client(TELEGRAM_TOKEN);
$bot->sendMessage($id, $text);
return '{"msg":true}';
}

Первая функция вернет вам тех, кто писал в телеграм бота или же жал кнопку старт за последнее время. Вернет именно массив username => id. Вторая функция воспринимает id и текст для отправки.

Всё предельно просто. Бот отправляет сообщения в свой диалог с пользователем.

★Сервис идентифицирует (https://socfishing.com/?utm_source=searchengines) посетителей вашего сайта и предоставляет их профили ВКонтакте, Телефон, Почта! Цены копеечные, работаем 8 лет.
M
На сайте с 20.08.2004
Offline
376
#13
SocFishing:
- таким образом вы можете получить ID пользователя в телеграм и сможете ему писать от имени этого же бота.

Вот я не могу понять каким образом мне связать неизвестного мне пользователя который нажал на кнопку старт, с тем кто у меня на сайте...

если бы переходя по ссылке я бы мог передать параметр, например юзер_ид, и после нажатия старт этот параметр сохранять вместе с chat_id было бы здорово.

SocFishing
На сайте с 26.09.2013
Offline
118
#14

Miracle, вам нужно спросить пользователя на сайте его username в телеграм. И по нему уже связать. По такому принципу это сделано в нашем сервисе. Человек пишет в настройках свой логин в телеграм, дальше заходит на бота в телеграм и нажимает старт. Ну и демон подтягивает в определенном интервале ID кто ему писал и с какого логина и обновляет в базу к этому логину ID. А затем пуляет информацию из личного кабинета по данным с его сайта на ID из настроек.

Вариант 2, написать боту например логин из личного кабинета на вашем сайте. ну или определенный ключ. Но тут нужно понимать, что просто написать боту логин это не секьюрно, лучше конечно через ключ. Если информация не приватная, то можно и просто логин.

M
На сайте с 20.08.2004
Offline
376
#15
SocFishing:
Miracle, вам нужно спросить пользователя на сайте его username в телеграм.

А какой юзернейм в телеграм? Номер телефона?

SocFishing:
Вариант 2, написать боту например логин из личного кабинета на вашем сайте. ну или определенный ключ. Но тут нужно понимать, что просто написать боту логин это не секьюрно, лучше конечно через ключ. Если информация не приватная, то можно и просто логин.

я думал об этом варианте правда в другой интерпритации.

---------- Добавлено 24.02.2020 в 19:11 ----------

Теперь я понял почему я не знал юзернейма своего, потому что его нужно было придумывать и вводить отдельно, думаю моей аудитории это будет сложно.

SocFishing
На сайте с 26.09.2013
Offline
118
#16

Miracle, вам по варианту 2, найти бота и написать ему контрольную фразу или свой логин в вашей системе. Дальше получаете в цикле последние сообщения что боту писали и с них выдергиваете контрольную фразу или логин + получаете id того кто писал. Ну и дальше понятно на какой id отправлять сообщения и для какого они пользователя.

M
На сайте с 20.08.2004
Offline
376
#17
SocFishing:
Miracle, вам по варианту 2, найти бота и написать ему контрольную фразу или свой логин в вашей системе. Дальше получаете в цикле последние сообщения что боту писали и с них выдергиваете контрольную фразу или логин + получаете id того кто писал. Ну и дальше понятно на какой id отправлять сообщения и для какого они пользователя.

поделитесь куском кода для того что бы получать эти данные и передавать их на сайт.

вот к примеру пользователь ввел , в самом простом случае, свой айди с сайта, каким образом из телеграмма передать данные на сайт что бы подвязать его chat_id с user_id

спасибо

---------- Добавлено 25.02.2020 в 08:44 ----------

Правильно я понимаю надо использовать Webhook но для этого как раз и нужен ssl

IL
На сайте с 20.04.2007
Offline
435
#18
Miracle:
Правильно я понимаю надо использовать Webhook но для этого как раз и нужен ssl

Да, всё верно.

Есть ещё альтернативный вариант - постоянно дёргать сервер телеграма на предмет обновлений. Но, ИМХО, вариант с веб-хуками более "правильный".. =)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
M
На сайте с 20.08.2004
Offline
376
#19
M
На сайте с 20.08.2004
Offline
376
#20

https://certbot.eff.org/lets-encrypt/centosrhel7-nginx.html тоже полезная ссылка. все делается проще, но я пробовал первым вариантом. так как не совсем понимаю как в этом варианте устанавливаются сертификаты. неужели один для всех сайтов на сервере? кстати, даже nginx не нужно перегружать? странно. может спецы подскажут.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий