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

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

Модератор: immortal

Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение m-malva » Чт ноя 17, 2016 1:38 am

О спасибо. Точно АЛАРМ канал )
Руслан
Сообщения: 193
Зарегистрирован: Чт дек 17, 2015 10:08 am
Откуда: Уфа
Благодарил (а): 36 раз
Поблагодарили: 14 раз

Re: Модуль "Telegram"

Сообщение Руслан » Чт ноя 17, 2016 8:03 pm

мне кажется в обновлении допущена ошибка- везде есть $ перед "res", а в строке 608 нет

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

@@ -602,6 +605,7 @@ function sendMessage($user_id, $message, $keyboard = '', $parse_mode = 'HTML') {
         );
         $res = $telegramBot->sendMessage($content);
         $this->debug($res);
        return res;
     }
     function sendMessageTo($where, $message, array $key = NULL) {
         $this->getConfig();
 @@ -647,6 +651,7 @@ function sendImage($user_id, $image_path, $message = '', $keyboard = '') {
         );
         $res = $telegramBot->sendPhoto($content);
         $this->debug($res);
        return $res; 
За это сообщение автора Руслан поблагодарил:
Eraser (Чт ноя 17, 2016 8:18 pm)
Рейтинг: 1.16%
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Пт ноя 18, 2016 10:19 am

Добавлена опция для пользователя - обработка полученного сообщения как шаблона поведения (если не найдена команда).
Обновлен перевод
За это сообщение автора Eraser поблагодарил:
ErmolenkoM (Пт ноя 18, 2016 10:20 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Amarok » Пт ноя 18, 2016 12:21 pm

Уважаемый Eraser, а попили модуль отслеживания посылок?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Eraser » Пт ноя 18, 2016 12:49 pm

Amarok писал(а):Уважаемый Eraser, а попили модуль отслеживания посылок?
неожиданное предложение :)
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Amarok » Пт ноя 18, 2016 2:29 pm

Eraser писал(а):
Amarok писал(а):Уважаемый Eraser, а попили модуль отслеживания посылок?
неожиданное предложение :)
Можно модуль на основе ГдеПосылка или Track24? :roll:
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver » Пт ноя 18, 2016 6:44 pm

Ребята, научите вставлять emoji (картинки) в кнопки клавиатуры. Нашел табличку с кучей картинок http://apps.timwhitlock.info/emoji/tables/unicode
Хочу раскрасить своего бота. )) Не могу только понять, как те utf-коды указывать при формировании клавиатуры в приложении.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль "Telegram"

Сообщение Amarok » Сб ноя 19, 2016 11:11 am

Написал сценарий для упрощения работы с модулем Telegram. А то утомило постоянно инклюды писать
sendTelegramПоказать

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

// Сценарий для упрощения работы с модулем Telegram
// Примеры использования:
//  runScript("sendTelegram",array("user"=>'ИмяПользователя',"cmd"=>'НазваниеКоманды'));
//  runScript("sendTelegram",array("user"=>'ИмяПользователя',"msg"=>'ТекстСообщения'));
// ИмяПользователя - название объекта пользователя с заполненым свойством TelegramID
// НазваниеКоманды - название существующей команды из модуля Telegram
// ТекстСообщения - сообщение для отправки

$user = $params['user']; //получаем имя пользователя переданное через параметр запуска
if ($user == '') {return;} //если имя пользователя не заданно - прекращаем выполнение сценария

include_once(DIR_MODULES.'telegram/telegram.class.php'); //подключаем модуль Telegram
$telegram_module = new telegram(); //активируем модуль Telegram

$tID = gg($user.'.TelegramID'); //считываем id пользователя в переменную из свойства TelegramID
$tMSG = $params['msg']; //получаем текст отправляемого сообщения переданное через параметр запуска
$tCMD = $params['cmd']; //получаем имя команды переданной через параметр запуска

//если сообщение не пустое
if ($tMSG != "") {
 $user = mb_strtolower($user); //переводим имя пользователя в нижний регистр (на всякий случай)
 if ($user == 'all') {$telegram_module->sendMessageToAll($tMSG);} //если имя пользователя all, то шлём сообщение всем
 if ($user == 'admin') {$telegram_module->sendMessageToAdmin($tMSG);} //если имя пользователя ADMIN, то шлём сообщение только ему
 if ($user != 'all' or $user != 'admin') {$telegram_module->sendMessageToUser($tID, $tMSG);} //если имя пользователя не all или не admin, то шлём сообщение тому, который указан в параметрах запуска
 return; //прекращаем выполнение сценария
}

//если имя команды не пустое
if ($tCMD != "") {
 $telegram_module->execCommand($tID, $tCMD); //выполняем указанную команду от имени указанного пользователя
 return; //прекращаем выполнение сценария
}

//Принимаю любую благодарность на Яндекс.Деньги 41001355945165  
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "Telegram"

Сообщение skysilver » Вс ноя 20, 2016 1:07 am

С emoji на кнопках и размещением их на кнопках разобрался. Сделал себе динамическую клавиатуру. По ходу дела всплыло несколько нюансов.
1. Высота кнопок! Почему-то они выше, чем в других ботах (тот же Сбер или Яндекс). Если три ряда кнопок, то еще терпимо. А вот если два, то уже жесть. Надо что-то делать с этим.
2. При добавлении emoji перестают работать команды. При этом события при поиске ключевого слова через strripos() отрабатываются хорошо. Думаю надо команды тоже допилить, чтобы игнорировались emoji.
3. Из-за этих emoji опять же в общий чат Алисы пишутся пустые команды от пользователя.
4. Правильно понял, что у событий нет настроек безопасности (контроля доступа) и этим нужно заниматься на уровне кода? Может, вынести это в настройки по аналогии с командами? Сам не проверял, но вдруг события будут обрабатывать сообщения от левых пользователей, которые найдут моего бота. Не хотелось бы такого допустить.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
havenofear
Сообщения: 120
Зарегистрирован: Чт янв 30, 2014 7:18 am
Благодарил (а): 4 раза
Поблагодарили: 3 раза

Re: Модуль "Telegram"

Сообщение havenofear » Пн ноя 21, 2016 6:07 am

Чтобы заработало нужно в классе User создать параметр TelegramID и вбить в него значения. Или он должен был создаться автоматом?
Последний раз редактировалось havenofear Пн ноя 21, 2016 6:56 am, всего редактировалось 2 раза.
Ответить