Управляем ZennoPoster'ом через Telegram.

  • Автор темы Автор темы Dr.Pipetka
  • Дата начала Дата начала

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 487
Реакции
999
Баллы
113
Приветствую заглянувших!
Хочу поделится шаблоном по управлению Вашими шаблонами добавленными в ZP.
Это некая альтернатива удаленному управлению через teamviewer и подобное. Для простых задач можно использовать телеграм.
Написан шаблон на C#.
Команды выглядят следующим образом: "команда|название шаблона|параметр".
Параметр нужен не для всех действий. "|" является разделителем. Изменить его можно в файле "tgbot.cs"
в константе "delimiter". Используйте только символы которые не используются в названии шаблона и в названии команд.

Клик по названию шаблона в мобильной версии - скопировать название шаблона в буфер. Так же можно скопировать команды из /history

Изменить команды можно в файле "tgbot.cs". В самом начале достаточно поменять значения подписанных констант.

Примеры команд:

"Добавить попыток|названеешаблона|17" - добавит указанному шаблону 17 выполнений

"Прервать|названеешаблона" - Прервет выполнение указанного шаблона

"Установить попыток|названеешаблона|24" - Установит 24 попытки выполнения

"Максимум потоков|названеешаблона|12" - Установит 12 потоков

"Запустить|названеешаблона" - Запустит шаблон

"Стоп|названеешаблона" - Остановит шаблон

"Цпу" - Покажет текущую нагрузку на систему

"/all" - Выведет все шаблоны и информацию о них

"/working" - Выведет все запущенные шаблоны и информацию о них

"/history" - Выведет последние отправленные команды

73561


73562

В шаблоне используется библиотека Telegram.Bot . Поэтому копируем содержимое папки ExternalAssemblies, в папку ExternalAssemblies которая находится в папке с установленным постером.

Пишем главному боту и создаем бота. Заполнив нужные данные, Вы получите API KEY.

Собственно все. Во входных настройках вставляете апи ключ, вводите свой логин телеграма и запускаете. Логин как некая защита, мало ли кто будет писать Вашему боту.
73563


Добавляйте свои команды и пользуйтесь!

Желаю всем насладиться этим конкурсом и найти для себя что то интересное!
 
Номер конкурса шаблонов
  1. Седьмой конкурс шаблонов
Уровень сложности
Продвинутый
Категория
  1. Чат-боты \ Автоответчик

Вложения

Последнее редактирование:
Интересно, как то видел похожую тему продавали на складчике.
 
  • Спасибо
Реакции: Zoloo и Dr.Pipetka
Огромное спасибо!) Это сильно развязывает руки.. может еше чего получится придумать в этом направлении
 
  • Спасибо
Реакции: Dr.Pipetka
Dr.Pipetka у шаблона есть какие-то ограничения? требования? кроме добавить папки с библиотеками..

на какой версии постера работаете?

библиотеки добавил, подключил бота. при запуске команды в телеге - постер идет на перезагрузку.. и сейчас просто постоянно перезагружается (не успеваю стопорнуть шаблон). 7.3.2.1

п.с. все равно считаю очень крутой темой)
 
Последнее редактирование:
  • Спасибо
Реакции: Dr.Pipetka
супер! за это буду голосовать
 
  • Спасибо
Реакции: Dr.Pipetka
Почему то версия 7.3.2.1 постоянно перезагружается, при добавлении данного шаблона
 
  • Спасибо
Реакции: Dr.Pipetka
Dr.Pipetka у шаблона есть какие-то ограничения? требования? кроме добавить папки с библиотеками..

на какой версии постера работаете?

библиотеки добавил, подключил бота. при запуске команды в телеге - постер идет на перезагрузку.. и сейчас просто постоянно перезагружается (не успеваю стопорнуть шаблон). 7.3.2.1

п.с. все равно считаю очень крутой темой)
Почему то версия 7.3.2.1 постоянно перезагружается, при добавлении данного шаблона

Действительно есть проблемы. Делал на древней версии 7.1.1.0(вроде 5.40) (больше года ей) и все работает, на последней демке не завелось. Видел в репортах темы о проблемах с подключением либ в некоторых версиях, может это как то связано. Если у кого есть возможность потестить на старой и новой версии, отпишите о результатах. Допилим.
 
Dr.Pipetka получается 1 сервер 1 бот? или моно как то с 1 го бота общаться если у меня, например 5 серверов?
 
  • Спасибо
Реакции: Dr.Pipetka
Очень практично выходит и облегчает жизнь! Благодарю!
 
  • Спасибо
Реакции: Dr.Pipetka
Вроде нашел причину вылета. В ZennoPoster.TasksList старых и новых версиях отличается DoneSuccessfully и DoneSuccesfully :-) Поправил.
Dr.Pipetka получается 1 сервер 1 бот? или моно как то с 1 го бота общаться если у меня, например 5 серверов?
В таком варианте да. Можешь добавить параметр аля номер\имя сервера, во входных на каждом сервере указывать разные имена, ну и в боте при обработке сообщений сравнивать имена. Если не совпадает со вх настройками, просто return. Теоретически, так можно сколько угодно серверов на одном боте контролить.
 

Вложения

спасибо большое, упрощает контроль за ЗП !!
 
  • Спасибо
Реакции: Dr.Pipetka
На 7.3.1.1 ошибка как писали выше, постоянный перезапуск зп
 
  • Спасибо
Реакции: Dr.Pipetka
Правда не знаю куда копать, не могу стабильно вылет воспроизвести. Позавчера на демке(7.3.2.0) вылетело несколько раз и дальше все норм. Сейчас на виртуалку установил демку, два раза критануло и дальше нормально.
https://skr.sh/v72VcJtDnWc?a 7.3.1.0 демка.
Подозреваю что в библиотеке есть не обработанные исключения, вроде они приводят к такого рода закрытиям.
 
Блин, как же обидно, что крашит постоянно... Такое крутое решение...

Если в боте просто написать /all
Падает Poster и Maker 7.3.1.0.
 
Только /help

Он вылетает почти сразу, даже после повторного запуска, так как читает не проверенную команду.
Ну вот я и не могу понять, в какой конкретно момент там косяк. У меня это проблема выскочила и больше не могу воспроизвести. Попробую на днях еще поковырять. Если сам не воспроизведу, буду искать добровольцев у кого проблема стабильна и готовы доступ к постеру предоставить.
 
  • Спасибо
Реакции: phoenixs и djaga
Ну вот я и не могу понять, в какой конкретно момент там косяк. У меня это проблема выскочила и больше не могу воспроизвести. Попробую на днях еще поковырять. Если сам не воспроизведу, буду искать добровольцев у кого проблема стабильна и готовы доступ к постеру предоставить.
Лог { nonCriticalErrors-ZennoPoster } при критическом завершении выдаёт такое:
лог критической ошибки:
Развернуть Свернуть Копировать
--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4642]|9||CurrentDomain UnhandledException
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в ZennoLab.OwnCode.ZTask.GetTasks(Boolean onlyWork)
   в ZennoLab.OwnCode.TG.ProjList(Int64 id, Boolean onlyWork)
   в ZennoLab.OwnCode.TG.OnMessage(Object sender, MessageEventArgs e)
   в Telegram.Bot.TelegramBotClient.<ReceiveAsync>d__57.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   в System.Threading.ThreadPoolWorkQueue.Dispatch()
PrivateMemorySize: 216 MB  WorkingSet: 261 MB
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4642]|9||System Memory Commit: 11124/12867 MB
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4781]|9||System Handle Count: 103888
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4781]|9||Gdi Handles Count:  25
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4781]|9||User Handles Count: 36
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4571]|1|UiThread|ZennoPoster MainForm: MainFormClosing in
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4571]|62||Reconnect ZennoLab.ZennoPoster.Common.Interfaces.IZennoPosterCoreService service in
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|62||ZennoPosterCoreProxy: parent process has exited in create connection
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|62||Reconnect ZennoLab.ZennoPoster.Common.Interfaces.IZennoPosterCoreService connection is null
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|62||Reconnect ZennoLab.ZennoPoster.Common.Interfaces.IZennoPosterCoreService service out
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|62||Error in ZennoPosterCoreProxy.TaskManager_HasActivity
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в ZennoLab.ZennoPoster.UI.ZennoPosterConnection.ZennoPosterCoreProxy.xWGkvZVhuO0Ao76IXx1(Object )
   в ZennoLab.ZennoPoster.UI.ZennoPosterConnection.ZennoPosterCoreProxy.TaskManager_HasActivity()
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|1|UiThread|ZennoPoster MainForm: Save state start
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5470]|7||ZennoPoster MainForm: Stop ZpComManUI start
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5550]|62||ZennoPoster MainForm: Stop ZpComManUI end
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5550]|1|UiThread|ZennoPoster MainForm: GlobalSettings save start
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5780]|1|UiThread|ZennoPoster MainForm: GlobalSettings save end
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5780]|1|UiThread|ZennoPoster MainForm: Prepare saving storage
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5780]|1|UiThread|ZennoPoster MainForm: Save storage
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5780]|1|UiThread|ZennoPoster MainForm: Save main control settings
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5960]|1|UiThread|ZennoPoster MainForm: Hot key manager save settings
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5960]|1|UiThread|ZennoPoster MainForm: 3
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5960]|1|UiThread|ZennoPoster MainForm: 2
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.7158]|1|UiThread|ZennoPoster MainForm: 1
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.7158]|1|UiThread|ZennoPoster MainForm: bye bye!
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.7158]|1|UiThread|ZennoPoster MainForm: MainFormClosing out
 
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.7158]|1|UiThread|enter dispose
 
--------------------------------------------------------------------------------

up 1:
Ощущение, что проблема в названиях шаблонов, они у меня с русскими буквами.
up 2:
Команды отрабатывают нормально - цпу, help, history. А вот /working и /all сразу падают.
up 3:
Попробовал выключить все шаблоны и запустить только ваш шаблон, /working выдавал все равно краш. (
 
Последнее редактирование:
  • Спасибо
Реакции: Sho и phoenixs
Лог { nonCriticalErrors-ZennoPoster } при критическом завершении выдаёт такое:
лог критической ошибки:
Развернуть Свернуть Копировать
--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4642]|9||CurrentDomain UnhandledException
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в ZennoLab.OwnCode.ZTask.GetTasks(Boolean onlyWork)
   в ZennoLab.OwnCode.TG.ProjList(Int64 id, Boolean onlyWork)
   в ZennoLab.OwnCode.TG.OnMessage(Object sender, MessageEventArgs e)
   в Telegram.Bot.TelegramBotClient.<ReceiveAsync>d__57.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   в System.Threading.ThreadPoolWorkQueue.Dispatch()
PrivateMemorySize: 216 MB  WorkingSet: 261 MB

--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4642]|9||System Memory Commit: 11124/12867 MB

--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4781]|9||System Handle Count: 103888

--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4781]|9||Gdi Handles Count:  25

--------------------------------------------------------------------------------
[2021-03-14 02:03:07.4781]|9||User Handles Count: 36

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4571]|1|UiThread|ZennoPoster MainForm: MainFormClosing in

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4571]|62||Reconnect ZennoLab.ZennoPoster.Common.Interfaces.IZennoPosterCoreService service in

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|62||ZennoPosterCoreProxy: parent process has exited in create connection

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|62||Reconnect ZennoLab.ZennoPoster.Common.Interfaces.IZennoPosterCoreService connection is null

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|62||Reconnect ZennoLab.ZennoPoster.Common.Interfaces.IZennoPosterCoreService service out

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|62||Error in ZennoPosterCoreProxy.TaskManager_HasActivity
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в ZennoLab.ZennoPoster.UI.ZennoPosterConnection.ZennoPosterCoreProxy.xWGkvZVhuO0Ao76IXx1(Object )
   в ZennoLab.ZennoPoster.UI.ZennoPosterConnection.ZennoPosterCoreProxy.TaskManager_HasActivity()
--------------------------------------------------------------------------------
[2021-03-14 02:03:09.4771]|1|UiThread|ZennoPoster MainForm: Save state start

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5470]|7||ZennoPoster MainForm: Stop ZpComManUI start

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5550]|62||ZennoPoster MainForm: Stop ZpComManUI end

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5550]|1|UiThread|ZennoPoster MainForm: GlobalSettings save start

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5780]|1|UiThread|ZennoPoster MainForm: GlobalSettings save end

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5780]|1|UiThread|ZennoPoster MainForm: Prepare saving storage

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5780]|1|UiThread|ZennoPoster MainForm: Save storage

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5780]|1|UiThread|ZennoPoster MainForm: Save main control settings

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5960]|1|UiThread|ZennoPoster MainForm: Hot key manager save settings

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5960]|1|UiThread|ZennoPoster MainForm: 3

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.5960]|1|UiThread|ZennoPoster MainForm: 2

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.7158]|1|UiThread|ZennoPoster MainForm: 1

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.7158]|1|UiThread|ZennoPoster MainForm: bye bye!

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.7158]|1|UiThread|ZennoPoster MainForm: MainFormClosing out

--------------------------------------------------------------------------------
[2021-03-14 02:03:09.7158]|1|UiThread|enter dispose

--------------------------------------------------------------------------------

up 1:
Ощущение, что проблема в названиях шаблонов, они у меня с русскими буквами.
up 2:
Команды отрабатывают нормально - цпу, help, history. А вот /working и /all сразу падают.
up 3:
Попробовал выключить все шаблоны и запустить только ваш шаблон, /working выдавал все равно краш. (
там криво написан шаблон, его нужно перебирать и смотреть что конкретно крашится, гадания на кофейной гуще путем вкл\вкл не получится
если есть минимальное понимание сишарп можно разобратся
 
  • Спасибо
Реакции: Dr.Pipetka
Всем добрый день. Подскажите, возможно ли сделать бота в который загружаешь картинку, зеннопостер ее подхватывает делает какие то манипуляции и потом выгружает обратно в телеграмм?
 
  • Спасибо
Реакции: Dr.Pipetka
Всем добрый день. Подскажите, возможно ли сделать бота в который загружаешь картинку, зеннопостер ее подхватывает делает какие то манипуляции и потом выгружает обратно в телеграмм?
Изи
 
  • Спасибо
Реакции: ial1408
Эм, не поможете? Или хотя бы направьте.

Все ответы есть на этом форуме.
Была конкурсная статья, и кажется не одна, по работе с Телеграм битами. +Где то была статье и либа по обработке картинок на этом форуме.
По моему межик имейдж
 
  • Спасибо
Реакции: Dr.Pipetka
Все ответы есть на этом форуме.
Была конкурсная статья, и кажется не одна, по работе с Телеграм битами. +Где то была статье и либа по обработке картинок на этом форуме.
По моему межик имейдж
Спасибо, поищу. Когда смотрел, нашел только статьи по выводу сообщений в телеграмм, а по приему файлов из телеграмм не видел. По обработке фото у меня своя логика будет прописана
 
  • Спасибо
Реакции: Dr.Pipetka
Спасибо, поищу. Когда смотрел, нашел только статьи по выводу сообщений в телеграмм, а по приему файлов из телеграмм не видел. По обработке фото у меня своя логика будет прописана

Ну там не сложно. Тебе прилетает сообщение от телеги в виде json и в нем нужно найти id файла картинки, который потом нужно дёрнуть пост запосом (с методом тг), в ответ прилетит картинка
 
  • Спасибо
Реакции: Dr.Pipetka и ial1408
там криво написан шаблон, его нужно перебирать и смотреть что конкретно крашится, гадания на кофейной гуще путем вкл\вкл не получится
если есть минимальное понимание сишарп можно разобраться.
К сожалению, я ещё не сталкивался настолько "глубоко" с CSharp и данной библиотекой...
Обидно, что выставили работу, очень крутую, а он не работает, даже во время голосования. Плюс ещё автор перестал тут отвечать...

Попробую на днях еще поковырять. Если сам не воспроизведу, буду искать добровольцев у кого проблема стабильна и готовы доступ к постеру предоставить.
Вы ещё не смотрели шаблон?
 
  • Спасибо
Реакции: Sho и Dr.Pipetka
К сожалению, я ещё не сталкивался настолько "глубоко" с CSharp и данной библиотекой...
Обидно, что выставили работу, очень крутую, а он не работает, даже во время голосования. Плюс ещё автор перестал тут отвечать...


Вы ещё не смотрели шаблон?
У меня работает. Я никуда не пропал, вот только пару часов назад поставил виртуалку, что бы установить туда постер и ловить проблемный момент. К сожалению, не хватает время.
Я не претендую на звание про кодера...
Завтра выходные, займусь.
Сорян что так получается, массово не тестировал а у меня работает. В любом случае, доведу до рабочего состояния.
 
У кого ошибка и кто готов предоставить доступ к зенке для теста, напишите контакты в личку. У себя не могу воспроизвести ошибку.
 
Обновите файл в папке с шаблоном и удалите\добавьте шаблон по новой в зп(можно перезапустить зп, нужно что бы было сообщение о первичной компиляции). Если проблема осталась, напишите в личку контакты.
 

Вложения

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)