В связи с глюком Телеграмма при встрече варианта текста с пробелом и следующей за ним заглавной буквой 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={
Функция-конвертер строки для отправки сообщений в Телеграмм
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
-
- Сообщения: 4204
- Зарегистрирован: 25 фев 2018, 22:41
- Откуда: Москва
Уже обсуждалось, в этой теме: это не глюк телеграма, а в принципе http запрос так работает.
Повторяю ссылку с объяснением:
https://forum.mikrotik.com/viewtopic.ph ... 15#p810546
Повторяю ссылку с объяснением:
https://forum.mikrotik.com/viewtopic.ph ... 15#p810546
Telegram: @thexvo
-
- Сообщения: 159
- Зарегистрирован: 29 апр 2021, 10:45
Ага, вобщем так:xvo писал(а): ↑14 сен 2021, 15:04 Повторяю ссылку с объяснением:
https://forum.mikrotik.com/viewtopic.ph ... 15#p810546
Пробелы в чистом виде URL вообще пихать нельзя по стандарту, но telegram по доброй воле их принимает.
НО на " H" его парсер ломается(там есть причина, читай ссылку).
Итого: я бы рекомендовал заменять все пробелы дабы соответствовать стандарту URL, хз где ещё может вылезти проблема.
-
- Сообщения: 4204
- Зарегистрирован: 25 фев 2018, 22:41
- Откуда: Москва
Именно так.
Telegram: @thexvo
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
OK, понятно. Будем заменять все пробелы на %20 !
В своей функции я исправил.
В своей функции я исправил.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 159
- Зарегистрирован: 29 апр 2021, 10:45
1)лень
2)обычно разработка на непрофессиональном уровне ведётся не по стандартам, а вот это не работает по этому, ну значит исправляем это. На стандарты никто не смотрит.
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
Я в английском как свинья в апельсинах понимаю. Если бы кто-нибудь (из профессиональных разработчиков ) перевёл текст из этого "ТЫЦ" ....
Вот уважаемый pepelxl взялся бы и сделал для нас функцию-конвертер под Телеграмм как надо ...
Вот уважаемый pepelxl взялся бы и сделал для нас функцию-конвертер под Телеграмм как надо ...
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
Поправил обе функции FuncStrToTele и FuncTelegramSender. Теперь они будут заменять нужной кодировкой для Телеграмма все символы, которые помещены в массив. Если всплывет какой-то символ, который кодируется не правильно (а это в нашем случае могут быть только символы с кодами $00-$40 - вставьте его и его код в словарь-массив и всё будет океу. Пока обнаружил что дело портили такие симфолы как & и ^. Их вставил, теперь нормально.
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 3
- Зарегистрирован: 23 дек 2021, 18:32
А как правильно вызвать функцию отправки из Скрипта, в котором указаны локальные переменные, используемые для отправки в сообщении?Sertik писал(а): ↑19 сен 2021, 19:29 Поправил обе функции FuncStrToTele и FuncTelegramSender. Теперь они будут заменять нужной кодировкой для Телеграмма все символы, которые помещены в массив. Если всплывет какой-то символ, который кодируется не правильно (а это в нашем случае могут быть только символы с кодами $00-$40 - вставьте его и его код в словарь-массив и всё будет океу. Пока обнаружил что дело портили такие симфолы как & и ^. Их вставил, теперь нормально.
Так понимаю он отправляет их как текст в функцию...