Всем привет
Мой первый модуль для 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';
$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 через прокси делать, а прокси часто меняются.
Так будет с использованием прокси
$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';
$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
Я плохо понимаю русский. прости меня
# dilp (17.12.2019 / 11:37)
зачем такой фильтр, если там как я понял число? не проще intval?
Я учу php сейчас.
Я изменил память телефона johncms. Если у вас есть лучшее предложение, пожалуйста, напишите