Блог им. melamaster

Telagram+Quik+Lua: сам себе мессенджер

Самый простой способ, которым я пользовался долгое время.
Нужно установить две программы: Tor browser и curl.
Первая, чтобы блокировки телеграма обходить. Вторая, чтобы сетевую команду исполнять.

Разумеется, телеграм-бот уже должен быть создан, вы должны знать его идентификатор, а также айди своего телеграм-аккаунта,
чтобы подписаться на бота и видеть сообщения от бота.

В луа после этого всё предельно просто:
str='C:\\curl-7.63.0-win64-mingw\\bin\\curl.exe --socks5 127.0.0.1:9150 '
	str=str..'"https://api.telegram.org/botидентификаторвашегобота/sendMessage?chat_id=айдивашегоаккаунта&text='

str=str..переменная1..": "..переменная2
str=str..'"'
os.execute(str)
Приведенный код будет слать в телеграм значения двух переменных, разделенных двоеточием.
Всё просто, но есть два нюанса:
1. Каждая отправка сообщения сопровождается вызовом окна командной строки, которая всплывает поверх всех окон на одну-две секунды. Поэтому слать такие сообщения на машине, с которой вы работаете, чаще одного раза в минуту, не стоит.
2. Я таким способом пользовался больше года и считал, что он и легкий и надежный, но оказалось, что он легкий, но ненадежный. Один раз у меня случилась такая штука. Всплыло черное окошко командной строки, сообщение в телегу не ушло, окошко продолжило висеть. Видимо, какой-то сетевой сбой. И, как оказалось, квик-поток, вызвавший эту командную строку через os.execute, тоже завис и квик перестал коннектиться почему-то, потерял данные и тд. После того, как я это окошко закрыл крестиком, квик продолжил работу. Грубо говоря, из десятков тысяч запусков за год применения такого способа 1 вот такой глюк. Редко, но неприятно.

А какие вы знаете простые, легкие и надежные способы информирования без необходимости много кодить?

6.3К | ★29
9 комментариев
Должна быть библиотека для сокетов внутри луа, тогда курл не нужен.

Кстати, этот код случаем не внутри одного из коллбэков? Они идут в основном потоке квика и вполне способны его вешать.
avatar
Денис Г., этот код исполнялся в main
avatar
Sergey Pavlov, чтобы такого не было зависания курла я использую ключ --connect-timeout 10 через десять секунд разорвет соединение если не будет ответа от телеграмма, возможно это поможет.
Моя строка выглядит так
os.execute('start /MIN C:\\curl\\curl.exe --connect-timeout 10 -k -s «api.telegram.org/»')

окно командной строки сразу сворачивается и не мешает
Не знаю, у меня через сокеты и питон работает, хоть 10 раз в секунду отправляется инфа о сделке (когда по одной заявке много маленьких сделок одновременно) ничего не тормозит.  
avatar
Роскомнадзор, конечно, немного добавил препятствий. Тоже шлю в телегу, а точнее бот у меня. Если от квика датафидюсь, у меня VPN на локальной машине на весь траф, в т.ч. на траф из скрипта. Можно ещё прокси юзать, как вариант. А если в облаках размещаться не наших, то вообще отлично запросы к телеграму проходят). Недавно освоил запрос, который картинки в телегу шлет), теперь скрины графика себе шлю).
avatar
Серег, учи Python, коннекться с Alor OpenAPI и будет тебе счастье). Квик зло).
avatar
Сергей, наверно лучше взять готовую библиотеку телеги под луа и ее использовать. Что-нибудь такое:
https://github.com/wrxck/telegram-bot-lua

avatar
Делаю приблизительно так же, только вместо тора — опера с включенным VPN, и запускается она из кода на C++
«2. Я таким способом пользовался больше года и считал, что он и легкий и надежный, но оказалось, что он легкий, но ненадежный.»

Не стоит завешивать (ждать выполнения) роботов/квик. Через командную строку дергаем vbs/питон скрипт который отработается или не отработается сам по себе, подождет ответа от сервиса, перепошлет если надо, запишет в лог реплай от сервиса итд. Из Ами дергаю по ShellExecute, он не ждет ответа, из Квика просто пишу в файлы а алерты уже из своего софта по тому же принципу. Это относится к телеграммам, емейлу, смс итд.

«А какие вы знаете простые, легкие и надежные способы информирования без необходимости много кодить?»

Емейл (через встроенный в виндоуз функционал, без сторонних прог) и смс через http запросы. Несколько строк в vbs. На андроиде есть прога AlarmManager, умеет читать смс и вотсап, по кейвордам может включить звуковой алерт, оч удобно.

Понимаю что телега очень удобно но в случае суверенного интернета действительно критичные алерты надо слать исключительно через локальные сервисы и исключительно через открытые протоколы типа http.

Имхо
avatar

Читайте на SMART-LAB:
Фото
Снижение военной премии в нефти: что это меняет для доллара и G10
Во второй половине понедельника – начале вторники рынки активно пересматривают премию за худший сценарий на энергетическом рынке, что цепочкой...
Фото
Обзор рынка облигаций
Если не считать бури вокруг Евротранса, то неделя прошла спокойно. Рынок продолжает взвешивать ситуацию с дефицитом бюджета и способами...
Российский рынок остался в красном секторе
Торги 10 марта на российских фондовых площадках проходили в умеренном минусе на фоне противоречивых новостей внешней политики, ослабления рубля и...
Фото
Гендиректор Инарктики продал свои акции компании. Что это может значить?
Вечером в пятницу (6 марта ) вышел сущфакт о том, что Соснов Илья Геннадьевич, гендиректор Инарктики, продал свои акции компании. В нашем...

теги блога Sergey Pavlov

....все тэги



UPDONW
Новый дизайн