Страница 4 из 8
Re: управление с телеги
Добавлено: 22 июл 2020, 12:55
Virtue
Кто не планирует использовать мои скрипты с именами "log_print" и "ping", можно вырезать из основного скрипта "Telegram" часть кода:
Код: Выделить всё
:if ($ScriptName = "log_print") do={
:local startLoc1 ([:find $message "log_print"] +10)
:local endLoc1 ([:find $message "log_print"] +12)
:global logs
:set logs [:pick $message $startLoc1 $endLoc1]
}
if ($ScriptName = "ping") do={
:local startLoc2 ([:find $message "ping"] +5)
:local endLoc2 ([:find $message "ping"] +20)
:global pingaddr
:set pingaddr [:pick $message $startLoc2 $endLoc2]
}
Тут идет проверка на наличие как раз этих скриптов, либо если не используется какой-то один из них, то вырезаем код от ":if" до "}"
Это конечно делать не обязательно, но всетаки лучше будет убрать всё лишнее..
Re: управление с телеги
Добавлено: 31 июл 2020, 14:20
miner98
а случаем не пробовали отправлять графики daily, weakly, cpu и тд. ?
Re: управление с телеги
Добавлено: 01 авг 2020, 22:16
Virtue
miner98 писал(а): ↑31 июл 2020, 14:20
а случаем не пробовали отправлять графики daily, weakly, cpu и тд. ?
с графиками пока не заморачивался
Re: управление с телеги
Добавлено: 01 авг 2020, 22:28
Virtue
добавляю весьма полезный скрипт, особенно для тех кто пробует впервые все настроить, но у него не получается, зачастую такое бывает из-за засоренности чата, скрипт чистит чат, запускаем его вручную многократно с периодичностью в несколько секунд и проверяем глобальную переменную
/system/scripts/environment/content пока в ее содержимом не останется только
{"ok":true,"result":[]}
после данной процедуры зачастую скрипт управления с телеграм начинает работать
telega_clean
Код: Выделить всё
:local botID "bot1000099999:AAAAx0xXxxXXXXx_XXX0xXxX0XxxXxxXxxx"
:local chatID "-990009999"
:global content [/tool fetch url=("https://api.telegram.org/".$botID."/getUpdates") as-value output=user]
:set content ($content ->"data")
:if ([:len $content] > 23 ) do={
:local startLoc [:find $content "update_id" -1 ]
:set startLoc ( $startLoc + 11 )
:local endLoc [:find $content "," $startLoc]
:local messageId ([:pick $content $startLoc $endLoc] + (1))
:set startLoc [:find $content "text" -1 ]
:set startLoc ( $startLoc + 7 )
:set endLoc [:find $content "," ($startLoc)]
:set endLoc ( $endLoc - 1 )
:local message [:pick $content ($startLoc + 1) $endLoc]
:set startLoc [:find $content "chat" -1 ]
:set startLoc ( $startLoc + 12 )
:set endLoc [:find $content "," $startLoc]
:local chatId ([:pick $content $startLoc $endLoc])
:tool fetch keep-result=no url=("https://api.telegram.org/".$botID."/getUpdates?offset=$messageId")
}
Re: управление с телеги
Добавлено: 06 авг 2020, 18:22
Virtue
обновленный скрипт
telega_clean теперь достаточно один раз запустить и подождать пока глобальная переменная
content не примет вид
{"ok":true,"result":[]}
можно применять при каждом засоре чата команд
telega_clean
Код: Выделить всё
:local botID "bot1000099999:AAAAx0xXxxXXXXx_XXX0xXxX0XxxXxxXxxx"
:global content [/tool fetch url=("https://api.telegram.org/".$botID."/getUpdates") as-value output=user]
:set content ($content ->"data")
while ([:len $content] > 23 ) do={
:local startLoc [:find $content "update_id" -1 ]
:set startLoc ( $startLoc + 11 )
:local endLoc [:find $content "," $startLoc]
:local messageId ([:pick $content $startLoc $endLoc] + (1))
:tool fetch keep-result=no url=("https://api.telegram.org/".$botID."/getUpdates?offset=$messageId")
:delay 3
}
Re: управление с телеги
Добавлено: 11 авг 2020, 23:00
Virtue
Отредактировал основной пост, изменил ссылку на инструкцию по созданию бота (по старой был упущен важный момент, а именно ни слова не было про то, что необходимо создать группу и добавить туда своего бота, в этой группе и будет происходить общение с ботом). Это действие также необходимо, чтобы получить айди чата.
Re: управление с телеги
Добавлено: 21 ноя 2020, 22:12
niks200
скажите, а чатайди он проверяет на валидность перед выполнением?
Re: управление с телеги
Добавлено: 22 ноя 2020, 10:40
Virtue
niks200 писал(а): ↑21 ноя 2020, 22:12
скажите, а чатайди он проверяет на валидность перед выполнением?
не совсем понял о какой валидности идет речь, но в скрипте присутствует строка проверки чата айди
Re: управление с телеги
Добавлено: 23 ноя 2020, 00:02
niks200
Да, это и имелось ввиду
Отличный скрипт! Попробовал - то что доктор прописал!
Сейчас думаю как написать скрипт, который можно запустить с телеги, чтобы он вкл или выкл. скрипты с периодическим запуском (вроде как шедуллером управлять удаленно)
Re: управление с телеги
Добавлено: 23 ноя 2020, 08:46
podarok66
niks200 писал(а): ↑23 ноя 2020, 00:02
Сейчас думаю как написать скрипт, который можно запустить с телеги, чтобы он вкл или выкл. скрипты с периодическим запуском (вроде как шедуллером управлять удаленно)
Там и думать нечего. Такие вещи без раздумий делаются. Команда в терминале выглядит примерно так:
Код: Выделить всё
/system scheduler set [find name=backup] disabled=yes