[Модуль] Telegram (telegram)
Модератор: immortal
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: [Модуль] Telegram (telegram)
Так и не нашел, или чего не понял..
Подскажите есть @ukrainian_stt2_bot вот такой бот - как на него можно отправить аудиосообщение и получить ответ ?
Подскажите есть @ukrainian_stt2_bot вот такой бот - как на него можно отправить аудиосообщение и получить ответ ?
Спасибо нам ПОМОЖЕТ..!
- Eraser
- Сообщения: 1085
- Зарегистрирован: Вт окт 21, 2014 7:31 pm
- Откуда: Киров
- Благодарил (а): 14 раз
- Поблагодарили: 869 раз
- Контактная информация:
Re: [Модуль] Telegram (telegram)
телеграм запрещает отправлять сообщения между ботамиtarasfrompir писал(а): ↑Сб май 22, 2021 12:12 pmТак и не нашел, или чего не понял..
Подскажите есть @ukrainian_stt2_bot вот такой бот - как на него можно отправить аудиосообщение и получить ответ ?
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: [Модуль] Telegram (telegram)
Ясно-но странно.Eraser писал(а): ↑Сб май 22, 2021 12:38 pmтелеграм запрещает отправлять сообщения между ботамиtarasfrompir писал(а): ↑Сб май 22, 2021 12:12 pmТак и не нашел, или чего не понял..
Подскажите есть @ukrainian_stt2_bot вот такой бот - как на него можно отправить аудиосообщение и получить ответ ?
Спасибо нам ПОМОЖЕТ..!
- Alexander Znamensky
- Сообщения: 160
- Зарегистрирован: Ср дек 18, 2019 11:13 am
- Откуда: Москва
- Благодарил (а): 87 раз
- Поблагодарили: 25 раз
Re: [Модуль] Telegram (telegram)
Добрый день.Alexander Znamensky писал(а): ↑Пт фев 26, 2021 4:32 pmАндрей, привет!
После последнего обновления заметил появление ошибок.
Отправка сообщения:Ошибка:Код: Выделить всё
include_once(DIR_MODULES . 'telegram/telegram.class.php'); $telegram_module = new telegram(); $telegram_module -> sendMessageToUser(******, "test");
Вроде раньше такого не замечал....Код: Выделить всё
Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/html/modules/telegram/telegram.class.php on line 731
После обновления та же ошибка. При этом вроде бы все работает.....
Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/html/modules/telegram/telegram.class.php on line 731
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266
-
- Сообщения: 315
- Зарегистрирован: Вс май 20, 2018 9:27 am
- Благодарил (а): 160 раз
- Поблагодарили: 29 раз
Re: [Модуль] Telegram (telegram)
Просмотрел всю ветку не нашел ответ на свой вопрос.
Подскажите как реализовать две кнопки, при нажатии на одну из них пользователь вводит текст и этот текст сохраняется в переменную $text_1 или $text_2 и далее эти переменные подстваляются свойство объекта.
Я нашел код как реализовать кнопки и пределал немного но, не уверен, что правильно! Но, кнопки отображаются в телеграмме.
А вот сохранять вводимый текст в переменную я не знаю!
Подскажите как реализовать две кнопки, при нажатии на одну из них пользователь вводит текст и этот текст сохраняется в переменную $text_1 или $text_2 и далее эти переменные подстваляются свойство объекта.
Я нашел код как реализовать кнопки и пределал немного но, не уверен, что правильно! Но, кнопки отображаются в телеграмме.
Код: Выделить всё
$pos = strripos($text , "Заголовок");
if ($pos > -1) {
cm("setGlobal("объект.свойство", $text_1);");
$skip = true;
}
$pos = strripos($text , "Сообщение");
if ($pos > -1) {
cm("setGlobal("объект.свойство", $text_2);");
$skip = true;
}
echo $text;
$pos = strripos($text , "Новость");
if ($pos > -1) {
$skip = true;
}
if ($skip)
{
//3C D8 11 DF
$off = json_decode('"'.'\ud83c\udf11'.'"');
//D83C DF15
$on = json_decode('"'.'\uD83C\uDF15'.'"');
$option = array(array($ks."Заголовок", $ts."Сообщение"),array("Назад"));
$this->sendMessageToUser($chat_id,"Введите текст:",$option);
}
-
- Сообщения: 315
- Зарегистрирован: Вс май 20, 2018 9:27 am
- Благодарил (а): 160 раз
- Поблагодарили: 29 раз
Re: [Модуль] Telegram (telegram)
Может как-то можно реализовать в "Сохранение пользовательского ввода после определенного сообщения telegram bot" https://coderoad.ru/44054143/%D0%A1%D0% ... legram-bot
Или может уже это реализованно?
PS - Больше спамить не буду на эту тему если не будет ответов.
Или может уже это реализованно?
PS - Больше спамить не буду на эту тему если не будет ответов.
-
- Сообщения: 2087
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: [Модуль] Telegram (telegram)
ответов не будет, т.к. у нас свой бот, со своей логикой и взаимодействием с другими модулями мдм
описывать все это никто не будет, решать вашу задачу аналогично
она решаема и не столь уж и сложно
описывать все это никто не будет, решать вашу задачу аналогично
она решаема и не столь уж и сложно
- Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 315
- Зарегистрирован: Вс май 20, 2018 9:27 am
- Благодарил (а): 160 раз
- Поблагодарили: 29 раз
Re: [Модуль] Telegram (telegram)
Хоть направление дайте куда "копать"!
Может телеграм создает свой объект и там что то сохраняет?
А! Может из истории Алисы выдергивать сообщения от бота?!?? о!!!!! СПАСИБО!
-
- Сообщения: 315
- Зарегистрирован: Вс май 20, 2018 9:27 am
- Благодарил (а): 160 раз
- Поблагодарили: 29 раз
Re: [Модуль] Telegram (telegram)
Я тут оставлю, возможно кому понадобится решение сохранение последнего телеграмного сообщения в свойство объекта.
Зачем это нужно? Я эту информацию вывожу в сцене бегущей стройкой и + Алиса проговаривает при движеннии в нужной комнате. Это как важное "объявление".
Для того, что бы добавить пользователя в массив там где
нужно сказать пользователю ввести кодовое слово в телеграмме и на страничке phpmyadmin смотри приложенные скрины, что бы узнать кокой у него номер "telegram1" или "telegram2". Что бы привязать код к своим свойствам делайте это в 80-й строке и в 84.
В 78-й строке указанно свойство которое будет работать как флаг.
Вопрос: Как реализовать нажатие кнопки "Обновить" в свойствах объекта смотри 3-й скрин. Может можно написать метод который будет срабатывать при изменении свойства объекта или может скрипт?
Зачем это нужно?
Часто когда сообщение больщое то, в сцене оно не отображается! И нужно нажать на кнопку обновить, что бы текст новый появился в сцене! Я думаю это как-то связанно с обновлением кеша.
Зачем это нужно? Я эту информацию вывожу в сцене бегущей стройкой и + Алиса проговаривает при движеннии в нужной комнате. Это как важное "объявление".
Код: Выделить всё
//коды смайлов в кодировке utf-8
//$off = hex2bin('F09F8C91');
//$on = hex2bin('F09F8C95');
$users[0] = 'telegram1'; //
$users[1] = 'telegram2'; //
$users[2] = 'telegram4'; //
$users[3] = 'telegram3'; //
$title = Null;
$pog = hex2bin('E29B85');
$sta = hex2bin('F09F92AC');
$to_text = 'Display.telegram_text'; // Здесь сохраняют заголовки.
$to_title = 'Display.telegram_title'; // Здесь сохраняют объявления.
$message = 'message'; // введенный текст.
//$flag = 23456789; // Если $flag = 0 то сохраняем в "Заголовок" а если $flag = 1 то сохраняем в текст
//if(gg("security")){$st1=$on;}
//if(gg("Econom")){$st2=$on;}
print_r($callback);
//Второе меню
$option1 = array(array($title."Заголовок", $pog."Погода", $sta."Текст"),array("Назад"));
//Основное меню
$option2 = array(array($title."Сохранить"),array("меню"));
//Нажали на кнопку "Заголовок"
$pos = strripos($text , "Заголовок");
if ($pos > -1) {
setGlobal('Display.flag', 1);
$this->sendMessageToUser($chat_id,"Введите только заголовок объявления:",$option2);
$skip = true;
}
//Нажали на кнопку "Текст"
$pos = strripos($text , "Текст");
if ($pos > -1) {
setGlobal('Display.flag', 2);
$this->sendMessageToUser($chat_id,"Введите текст объявления:",$option2);
$skip = true;
}
//Нажали на кнопку погода
$pos = strripos($text , "Погода");
if ($pos > -1) {
$weather= "Сейчас".hex2bin('F09F8CA1').gg('ow_fact.temperature')."°C,".gg('ow_fact.weather_type').",".hex2bin('F09F92A8').gg('ow_fact.wind_direction_my')." ".gg('ow_fact.wind_speed')."км/ч, ".hex2bin('F09F92A7').gg('ow_fact.humidity')."%, ".hex2bin('F09F92AA').round(gg('ow_fact.pressure_mmhg'),0);
$this->sendMessageToUser($chat_id, $weather, $option1);
$skip = true;
}
//Действие на кнопку "сохранить"
$pos = strripos($text , "Сохранить");
if ($pos > -1) {
$this->sendMessageToUser($chat_id, "Введенные Вами данные сохранены!", $option1);
$skip = true;
//setGlobal('Display.telegram_title', $flag); // Для дебага
//-------------------------Ниже код сохраняет пользовательский текст в свойства объекта ----------------//
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($conn === false) {
die("Ошибка: " . mysqli_connect_error());
}
//
$sqltxt = '';
$count_arr = count($users);
$count_arr = $count_arr - 1;
foreach($users as $v){
$sqltxt .= "`source` = '".$v."'";
if($count_arr > '0'){
$sqltxt .= ' OR ';
}
$count_arr--;
}
//echo "Подключение успешно установлено";
$sql = "SELECT * FROM `shouts` WHERE ".$sqltxt." ORDER BY `shouts`.`ADDED` DESC";
$ress = $conn->query($sql);
$rows = $ress->fetch_array();
// последнее сообщение из телеграмма
//echo $rows[3];
$flag = getGlobal('Display.flag');
if($flag == 1){
setGlobal('Display.telegram_title', trim($rows[3]));
setGlobal('Display.flag', 0);
}
if($flag == 2){
setGlobal('Display.telegram_text', trim($rows[3]));
setGlobal('Display.flag', 0);
}
//echo "<pre>"; print_r($rows); echo "</pre>";
mysqli_close($conn);
/////////////////////////////////
}
//показать меню
//echo $text;
$pos = strripos($text , "меню");
if ($pos > -1) {
$this->sendMessageToUser($chat_id,"Выберите действие:",$option1);
$skip = true;
}
Код: Выделить всё
$users[0] = 'telegram1'; //
$users[1] = 'telegram2'; //
$users[2] = 'telegram4'; //
В 78-й строке указанно свойство которое будет работать как флаг.
Вопрос: Как реализовать нажатие кнопки "Обновить" в свойствах объекта смотри 3-й скрин. Может можно написать метод который будет срабатывать при изменении свойства объекта или может скрипт?
Зачем это нужно?
Часто когда сообщение больщое то, в сцене оно не отображается! И нужно нажать на кнопку обновить, что бы текст новый появился в сцене! Я думаю это как-то связанно с обновлением кеша.
Я помню и понимаю! Но, может кто даст направление куда "копать"?
- Вложения
-
- 4.png (365.24 КБ) 3373 просмотра
-
- 1.png (76.27 КБ) 3373 просмотра
-
- Сообщения: 2087
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: [Модуль] Telegram (telegram)
в альфе проблему с кешированием поправили
в тлг это описывалось в чатике, кст
п.с. имхо проблема в незнании стандартных функций мдм (код выше б в разы сократился) и использовании хреновых примеров (с тлг можно текст только в каллбеках обрабатывать и не пулять его в бд и общий чат)
в тлг это описывалось в чатике, кст
п.с. имхо проблема в незнании стандартных функций мдм (код выше б в разы сократился) и использовании хреновых примеров (с тлг можно текст только в каллбеках обрабатывать и не пулять его в бд и общий чат)
- Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо