Страница 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