Страница 4 из 6
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 14 сен 2021, 13:50
Sertik
В связи с глюком Телеграмма при встрече варианта текста с пробелом и следующей за ним заглавной буквой H латинского алфавита (см.
viewtopic.php?f=14&t=12043&start=60) я включил в массив преобразования подфункции StrToTele ключ из пробела и равного ему элемента "0020" (пробел).
и дополнительную проверку в цикле на образование сочетания " H" с заменой на %20.
Это проще и быстрее, чем после переконвертации опять прогонять всю строку с заменой всех пробелов на %20.
Либо ещё вариант добавить в алгоритм преобразования проверку на сочетание пробела и заглавной H и только в этом случае вставлять вместо пробела %20
типа вот так :if (($keys=" ") and ([:pick $string ($i+1) (2+$i)]="H")) do={:set $code "%20"} else={
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 14 сен 2021, 15:04
xvo
Уже обсуждалось,
в этой теме: это не глюк телеграма, а в принципе http запрос так работает.
Повторяю ссылку с объяснением:
https://forum.mikrotik.com/viewtopic.ph ... 15#p810546
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 14 сен 2021, 15:10
Lurker
Ага, вобщем так:
Пробелы в чистом виде URL вообще пихать нельзя по стандарту, но telegram по доброй воле их принимает.
НО на " H" его парсер ломается(там есть причина, читай ссылку).
Итого: я бы рекомендовал заменять все пробелы дабы соответствовать стандарту URL, хз где ещё может вылезти проблема.
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 14 сен 2021, 15:12
xvo
Именно так.
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 14 сен 2021, 20:14
Sertik
OK, понятно. Будем заменять все пробелы на %20 !
В своей функции я исправил.
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 14 сен 2021, 20:18
pepelxl
Вот вообще не понимаю зачем изобретать велосипед. Есть стандарт, стандарт в открытом доступе. Что мешает прочитать, и сделать как нужно с первого раза?
тыц
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 15 сен 2021, 08:12
Lurker
pepelxl писал(а): ↑14 сен 2021, 20:18
Вот вообще не понимаю зачем изобретать велосипед. Есть стандарт, стандарт в открытом доступе. Что мешает прочитать, и сделать как нужно с первого раза?
тыц
1)лень
2)обычно разработка на непрофессиональном уровне ведётся не по стандартам, а вот это не работает по этому, ну значит исправляем это. На стандарты никто не смотрит.
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 15 сен 2021, 10:56
Sertik
Я в английском как свинья в апельсинах понимаю. Если бы кто-нибудь (из профессиональных разработчиков
) перевёл текст из этого "ТЫЦ" ....
Вот уважаемый
pepelxl взялся бы и сделал для нас функцию-конвертер под Телеграмм как надо ...
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 19 сен 2021, 19:29
Sertik
Поправил обе функции FuncStrToTele и FuncTelegramSender. Теперь они будут заменять нужной кодировкой для Телеграмма все символы, которые помещены в массив. Если всплывет какой-то символ, который кодируется не правильно (а это в нашем случае могут быть только символы с кодами $00-$40 - вставьте его и его код в словарь-массив и всё будет океу. Пока обнаружил что дело портили такие симфолы как & и ^. Их вставил, теперь нормально.
Re: Функция-конвертер строки для отправки сообщений в Телеграмм
Добавлено: 23 дек 2021, 18:38
dimka-dh
Sertik писал(а): ↑19 сен 2021, 19:29
Поправил обе функции FuncStrToTele и FuncTelegramSender. Теперь они будут заменять нужной кодировкой для Телеграмма все символы, которые помещены в массив. Если всплывет какой-то символ, который кодируется не правильно (а это в нашем случае могут быть только символы с кодами $00-$40 - вставьте его и его код в словарь-массив и всё будет океу. Пока обнаружил что дело портили такие симфолы как & и ^. Их вставил, теперь нормально.
А как правильно вызвать функцию отправки из Скрипта, в котором указаны локальные переменные, используемые для отправки в сообщении?
Так понимаю он отправляет их как текст в функцию...