[Модуль] Telegram (telegram)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

kaperang
Сообщения: 1
Зарегистрирован: Ср мар 15, 2017 8:13 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Модуль "Telegram"

Сообщение kaperang » Вт май 30, 2017 8:47 pm

vsevolod.trofimov писал(а):
Eraser писал(а):
vsevolod.trofimov писал(а):Добрый день

не получается подключиться

1 бота зарегистрировал
2 пользователя добавил
3 при отправке сообщения /start созданному боту - в ответ ничего не приходит

4 при отправке сообщения пользователю из majordomo в режиме debug вот такая ошибка:
)
[description] => Bad Request: chat not found
[error_code] => 400
[ok] =>
(
06:56:53 Array
06:56:52 {"keyboard":[],"one_time_keyboard":false,"resize_keyboard":true,"selective":true}
)
удалите пользователя и снова попробуйте отправить /start
что в логе пишет
1 сработало!
2 новый вопрос: при отправке картинки на iPhone в уведомлении вместо картинки появляется иконка с холмами. если открыть ча т - то там все в порядке - та картинка, которая отправлялась, а в уведомлении - иконка. это можно где-то настроить?


У меня не работает ничего не приходит подскажите куда копать?
Ujin778
Сообщения: 62
Зарегистрирован: Вт апр 28, 2015 8:26 pm
Благодарил (а): 14 раз
Поблагодарили: 2 раза

Re: Модуль "Telegram"

Сообщение Ujin778 » Ср июн 07, 2017 4:12 pm

Здравствуйте!
После установки модуля и добавления пользователя стало по 2 раза говорить время каждый час. Если самому в консоли дать команду say то выполняется 1 раз. Если закоментировать проговаривание времени каждый час, то не разу не говорит, т.е. это именно старое проговаривание 2 раза срабатывает а не еще одно добавилось. Подскажите пожалуйста, как исправить?

P.S. А вот фразы "Режим Экономия активирован.", "Включаю режим экономии", "Режим Никого нет дома активирован" говорит только один раз. Там приоритет 2 установлен, а у времени приоритет 1.
P.P.S. после обновления стало все нормально, проблема ушла.
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: Модуль "Telegram"

Сообщение woow » Пн июн 12, 2017 4:38 pm

есть какое другое решение оповещений т.е. алернатива Telegram. Телеграмм хорошая, но она ни как нe работает с Xiaomi RedmiNote3 MIUI8. Может быть и другие не будут работать, ПО телефона убивает напрочь все сообщения. Иногда бывает, что срабатывает но это не прогнозируемое.
Raspberry Pi 3B+
Руслан
Сообщения: 193
Зарегистрирован: Чт дек 17, 2015 10:08 am
Откуда: Уфа
Благодарил (а): 36 раз
Поблагодарили: 14 раз

Re: Модуль "Telegram"

Сообщение Руслан » Пн июн 12, 2017 5:27 pm

,
Последний раз редактировалось Руслан Вт июл 11, 2017 4:29 pm, всего редактировалось 1 раз.
sailan
Сообщения: 26
Зарегистрирован: Сб май 27, 2017 6:35 am
Благодарил (а): 0
Поблагодарили: 0

Re: Модуль "Telegram"

Сообщение sailan » Пн июл 10, 2017 11:25 pm

Подскажите как на Raspberry pi3 запустить Telegram не понимаю как установить Webhook
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение sergejey » Вт июл 11, 2017 11:56 am

sailan писал(а):Подскажите как на Raspberry pi3 запустить Telegram не понимаю как установить Webhook
Оно и без вебхука нормально работает :) Немного больше нагружает опросами, но не критично.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
JohnA
Сообщения: 2
Зарегистрирован: Вт июл 11, 2017 5:22 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Модуль "Telegram"

Сообщение JohnA » Вт июл 11, 2017 5:40 pm

Привет всем!

Я новенький в МД, приятно познакомиться.

Запустил МД на Orange Pi. Написал код с разгона для телеграмма, работает, решил поделится с вами.
Я не про программист, поэтому сильно не пинайте за "красоту кода".

Код создает команду/кнопку в боте телеграмма для определения внешнего IP сервера с МД.
Зачем это надо? Ну например если сервер за НАТом.
Код запрашивает страничку с помощью curl c yandex.ru/internet и потом парсит ip.
Если с соединением что то не то, то cсообщает вместо ip ошибку curl.

-------------------
$error_codes=array(
1 => 'CURLE_UNSUPPORTED_PROTOCOL',
2 => 'CURLE_FAILED_INIT',
3 => 'CURLE_URL_MALFORMAT',
4 => 'CURLE_URL_MALFORMAT_USER',
5 => 'CURLE_COULDNT_RESOLVE_PROXY',
6 => 'CURLE_COULDNT_RESOLVE_HOST',
7 => 'CURLE_COULDNT_CONNECT',
8 => 'CURLE_FTP_WEIRD_SERVER_REPLY',
9 => 'CURLE_REMOTE_ACCESS_DENIED',
11 => 'CURLE_FTP_WEIRD_PASS_REPLY',
13 => 'CURLE_FTP_WEIRD_PASV_REPLY',
14 =>'CURLE_FTP_WEIRD_227_FORMAT',
15 => 'CURLE_FTP_CANT_GET_HOST',
17 => 'CURLE_FTP_COULDNT_SET_TYPE',
18 => 'CURLE_PARTIAL_FILE',
19 => 'CURLE_FTP_COULDNT_RETR_FILE',
21 => 'CURLE_QUOTE_ERROR',
22 => 'CURLE_HTTP_RETURNED_ERROR',
23 => 'CURLE_WRITE_ERROR',
25 => 'CURLE_UPLOAD_FAILED',
26 => 'CURLE_READ_ERROR',
27 => 'CURLE_OUT_OF_MEMORY',
28 => 'CURLE_OPERATION_TIMEDOUT',
30 => 'CURLE_FTP_PORT_FAILED',
31 => 'CURLE_FTP_COULDNT_USE_REST',
33 => 'CURLE_RANGE_ERROR',
34 => 'CURLE_HTTP_POST_ERROR',
35 => 'CURLE_SSL_CONNECT_ERROR',
36 => 'CURLE_BAD_DOWNLOAD_RESUME',
37 => 'CURLE_FILE_COULDNT_READ_FILE',
38 => 'CURLE_LDAP_CANNOT_BIND',
39 => 'CURLE_LDAP_SEARCH_FAILED',
41 => 'CURLE_FUNCTION_NOT_FOUND',
42 => 'CURLE_ABORTED_BY_CALLBACK',
43 => 'CURLE_BAD_FUNCTION_ARGUMENT',
45 => 'CURLE_INTERFACE_FAILED',
47 => 'CURLE_TOO_MANY_REDIRECTS',
48 => 'CURLE_UNKNOWN_TELNET_OPTION',
49 => 'CURLE_TELNET_OPTION_SYNTAX',
51 => 'CURLE_PEER_FAILED_VERIFICATION',
52 => 'CURLE_GOT_NOTHING',
53 => 'CURLE_SSL_ENGINE_NOTFOUND',
54 => 'CURLE_SSL_ENGINE_SETFAILED',
55 => 'CURLE_SEND_ERROR',
56 => 'CURLE_RECV_ERROR',
58 => 'CURLE_SSL_CERTPROBLEM',
59 => 'CURLE_SSL_CIPHER',
60 => 'CURLE_SSL_CACERT',
61 => 'CURLE_BAD_CONTENT_ENCODING',
62 => 'CURLE_LDAP_INVALID_URL',
63 => 'CURLE_FILESIZE_EXCEEDED',
64 => 'CURLE_USE_SSL_FAILED',
65 => 'CURLE_SEND_FAIL_REWIND',
66 => 'CURLE_SSL_ENGINE_INITFAILED',
67 => 'CURLE_LOGIN_DENIED',
68 => 'CURLE_TFTP_NOTFOUND',
69 => 'CURLE_TFTP_PERM',
70 => 'CURLE_REMOTE_DISK_FULL',
71 => 'CURLE_TFTP_ILLEGAL',
72 => 'CURLE_TFTP_UNKNOWNID',
73 => 'CURLE_REMOTE_FILE_EXISTS',
74 => 'CURLE_TFTP_NOSUCHUSER',
75 => 'CURLE_CONV_FAILED',
76 => 'CURLE_CONV_REQD',
77 => 'CURLE_SSL_CACERT_BADFILE',
78 => 'CURLE_REMOTE_FILE_NOT_FOUND',
79 => 'CURLE_SSH',
80 => 'CURLE_SSL_SHUTDOWN_FAILED',
81 => 'CURLE_AGAIN',
82 => 'CURLE_SSL_CRL_BADFILE',
83 => 'CURLE_SSL_ISSUER_ERROR',
84 => 'CURLE_FTP_PRET_FAILED',
84 => 'CURLE_FTP_PRET_FAILED',
85 => 'CURLE_RTSP_CSEQ_ERROR',
86 => 'CURLE_RTSP_SESSION_ERROR',
87 => 'CURLE_FTP_BAD_FILE_LIST',
88 => 'CURLE_CHUNK_FAILED',
);

// создание нового ресурса cURL
$ch = curl_init();

// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, "https://yandex.ru/internet/");
//curl_setopt($ch, CURLOPT_URL, "https://google.com");

curl_setopt($ch, CURLOPT_USERAGENT, 'IE20');

curl_setopt($ch, CURLOPT_HEADER, 0);
// Следующая опция необходима для того, чтобы функция curl_exec() возвращала значение а не выводила содержимое переменной на экран
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1');

// загрузка страницы и выдача её браузеру
$remotePage = curl_exec($ch);

// поиск номера символа со строкой данных с адресом
$start = stripos($remotePage,'<h4 class="client__title">IPv4-адрес</h4><div class="client__desc">');

//обрезка лишнего - номер строки +/- слева-справа
$unFilterString = htmlspecialchars(substr($remotePage, $start+50, 105));

//поиск в строке ip адреса
$pattern = "~[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}~";
preg_match($pattern , $unFilterString, $matches);
$myActualIp = $matches[0];

if(curl_errno($ch)){
$myActualIp = $error_codes[curl_errno($ch)];
}

// завершение сеанса и освобождение ресурсов
curl_close($ch);

// отправляем новый ip
return $myActualIp
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver » Вт июл 11, 2017 5:51 pm

JohnA писал(а):Код создает команду/кнопку в боте телеграмма для определения внешнего IP сервера с МД.
Мощная портянка. ) У меня так:

Код: Выделить всё

function get_real_ip() {
    /*
        http://www.telize.com/ip
        http://api.ipify.org/?format=json
        http://api.ipify.org/
        http://what-is-my-ip.net/?json
        http://what-is-my-ip.net/?text
        http://ipinfo.io/ip
        http://curlmyip.com/
        http://dns-ip.ru/home/simple
        http://ru.smart-ip.net/myip
    */
     $ip = file_get_contents("http://myip.mraak.ru/");
    if ( preg_match('/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])' . '\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]?|[0-9])$/', $ip ) == FALSE) {
       die(date("Y-m-d H:i:s") . " - Получил не правильный IP адресс -" . $ip);
    }
    return trim($ip);
}

$real_ip = get_real_ip();
say('Внешний ай-пи адрес ' . $real_ip, 0); 
За это сообщение автора skysilver поблагодарил:
Samir77 (Ср дек 30, 2020 8:43 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
JohnA
Сообщения: 2
Зарегистрирован: Вт июл 11, 2017 5:22 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Модуль "Telegram"

Сообщение JohnA » Вт июл 11, 2017 5:54 pm

Вот думаю чем бы еще телеграмм нагрузить?
ErgoZ
Сообщения: 2
Зарегистрирован: Вт июл 11, 2017 11:56 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Модуль "Telegram"

Сообщение ErgoZ » Пт июл 14, 2017 2:48 pm

странная ситуация. При использовании веб хука работает отправка сообщений в телеграм от Алисы, то есть пишет каждый час время. Но на команды не реагирует, стоит отключить веб хуки и сразу начинают работать команды. Очень странная фигня, кто знает как побороть?
Ответить