Мой первий хаки JohnCMS 8 (Телеграм писма)

639
.
Akbarali
Всем привет
Мой первый модуль для Johncms 8.0.
Если кто-то напишет вам личное сообщение, телеграмма отправится к боту.
Итак, начнем.
Мы отправим это на базу
ALTER TABLE `users` ADD `telegramid` INT(10) NOT NULL default '0';

Мы идем в /profile/includes/edit.php
$user['mibile'] = isset($_POST['mibile']) ? htmlspecialchars(mb_substr(trim($_POST['mibile']), 0, 40)) : '';
под этим
Мы пишем
$user['telegramid'] = isset($_POST['telegramid']) ? htmlspecialchars(mb_substr(trim($_POST['telegramid']), 0, 40)) : '';


`mibile` = ?,

Мы пишем это
`telegramid` =?,


$user['mibile'],

Мы пишем это

$user['telegramid'],


_t('Phone number') . ':<br><input type="text" value="' . $user['mibile'] . '" name="mibile" /><br>' .

Мы пишем это
'Telegram ID'. '<br><input type="text"value="' . $user['telegramid'] . '" name="telegramid" /><br>'.

Мы идем в /mail/includes/write.php

$db->exec("UPDATE `users` SET `lastpost` = '" . time() . "' WHERE `id` = '" . $systemUser->id . "'");


Мы пишем это
$akbarali = $qs['telegramid'];
$token = "BOT_TOKEN";   //Бот токен
$url = "https://api.telegram.org/bot" . $token . "/sendMessage"; 
$akbartext = 'Salom '.$qs['name'].' sizga '.$systemUser['name'].'dan '.$_POST['text'].' 
nomli xabar keldi. Xabarni ko`rish http://site.ru/mail/index.php&#039;;
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url ); 
curl_setopt($ch, 
CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "chat_id=".$akbarali."&text=".urlencode($akbartext));
$result = curl_exec($ch);
curl_close($ch);



Если есть проблема, пожалуйста, напишите
.
Akbarali, В России не будет работать, АПИ телеграм блокируется. Надо curl через прокси делать, а прокси часто меняются.
.
kantry, понятно
.
Кадило крутится, лавэха мутится
Так будет с использованием прокси
$akbarali = $qs['telegramid'];
$token = 'BOT_TOKEN';   //Бот токен
$url = 'https://api.telegram.org/bot' . $token . '/sendMessage';
$akbartext = 'Salom ' . $qs['name'] . ' sizga ' . $systemUser['name'] . 'dan ' . $_POST['text'] . ' nomli xabar keldi. Xabarni ko`rish http://site.ru/mail/index.php&#039;;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Proxy
$proxy_address = 'proxy address';
$proxy_port = 'port';
$proxy_user = 'user';
$proxy_pass = 'password';

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); // Тип прокси
curl_setopt($ch, CURLOPT_PROXY, $proxy_address);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);

if (! empty($proxy_user) && ! empty($proxy_pass)) {
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_user . ':' . $proxy_pass);
}

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'chat_id=' . $akbarali . '&text=' . urlencode($akbartext));
$result = curl_exec($ch);
curl_close($ch);
.
я по узбекски понял только salom
.
Кадило крутится, лавэха мутится
# dilp (17.12.2019 / 11:27)
я по узбекски понял только salom
Это текст сообщения, который придет в телеграм. Можешь поменять на свой
.
ALTER TABLE `users` ADD `telegramid` INT(10) NOT NULL DEFAULT '0';

$user['telegramid'] = isset($_POST['telegramid']) ? htmlspecialchars(mb_substr(trim($_POST['telegramid']), 0, 40)) : ''


зачем такой фильтр, если там как я понял число? не проще intval?
.
# dilp (17.12.2019 / 11:27)
я по узбекски понял только salom
Я плохо понимаю русский. прости меня
.
# Simba (17.12.2019 / 11:30)
Это текст сообщения, который придет в телеграм. Можешь поменять на свой
.
# dilp (17.12.2019 / 11:37)
зачем такой фильтр, если там как я понял число? не проще intval?
Я учу php сейчас.
Я изменил память телефона johncms. Если у вас есть лучшее предложение, пожалуйста, напишите
Всего: 15
Кураторы: Akbarali