Здравствуйте, гость ( Вход | Регистрация )

> Отправка в телеграм сообщения, файла
cirus
сообщение 3.5.2022, 14:42
Сообщение #1


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26955
Пользователь №: 16.971
Возраст: 29



Прикрепленный файл  Telegram.zip ( 407,63 килобайт ) Кол-во скачиваний: 294

Архив распаковать рядом с exe пилота.

Создаём бота в телеграмм, получает токен и ид чата.
Пример использования:
Код
--lua
local ffi = require('ffi')
local telegramm = ffi.load('SendTelegram.dll')
log 'clear' log 'mode compact'

ffi.cdef[[
    int sendtelegrammessage(const char* token, const char* chat_id, const char* text, char* result);
    int sendtelegramphoto(const char* token, const char* chat_id, const char* path_to_photo, const char* caption, char* result);
    int sendtelegramdocument(const char* token, const char* chat_id, const char* path_to_photo, const char* caption, char* result);
    int gettelegrammessage(const char* token, const char* chat_id, char* result);
    int gettelegramdocument(const char* token, const char* chat_id, const char* path_to_document);
]]

local token="1234567890:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -- token, указать свой
local chat_id="1234567890" -- id chat, указать свой. Здесь должны быть цифры. Формат @name более не поддерживается телеграмом.

telegramm.sendtelegrammessage(token, chat_id, "Текст сообщения", nil)   -- отправить сообщение

printscreen (0, 0, 0, 0, 0, [[C:\window.jpg]])  -- сохранить скрин экрана
telegramm.sendtelegramphoto(token, chat_id, [[C:\window.jpg]], "", nil)    -- отправить фото
telegramm.sendtelegramdocument(token, chat_id, [[C:\window.jpg]], "", nil) -- отправить файл

local response = ffi.new('char[9999]')
telegramm.sendtelegrammessage(token, chat_id, "Текст сообщения", response)   -- отправить сообщение и получить ответ в формате JSON
log(ffi.string(response))

Ожидание сообщения от бота:
Код
--lua
local ffi = require('ffi')
local telegram = ffi.load('SendTelegram.dll')
log 'clear' log 'mode compact'
ffi.cdef[[
    int gettelegrammessage(const char* token, const char* chat_id, char* result);
]]

local token="1234567890:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -- token, указать свой
local chat_id="1234567890" -- id chat, указать свой. Здесь должны быть цифры. Формат @name более не поддерживается телеграмом.

local new_message, last_message = ffi.new('char[999]')
telegram.gettelegrammessage(token, chat_id, new_message)      -- получить последнее сообщение
log ('Последнее сообщение: ' .. ffi.string(new_message))
last_message = ffi.string(new_message)                        -- запомнить текст сообщения

log ('Ожидание нового сообщения')
while true do
    telegram.gettelegrammessage(token, chat_id, new_message)   -- получить последнее сообщение
    if ffi.string(new_message) ~= last_message then            -- если сообщение не совпадает с последним
        -- тут нужные действия в зависимости от текста сообщения
        log('Новое сообщение: ' .. ffi.string(new_message))
        break
    end
    wait (2000)
end


Сообщение отредактировал DarkMaster - 3.8.2022, 22:49
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
cirus   Отправка в телеграм сообщения, файла   3.5.2022, 14:42
DarkMaster   В Н И М А Н И Е ! ! ! chat id - это ци...   3.5.2022, 16:40
Izatii   Крутая тема, встал вопрос, как вставить в сообщени...   4.5.2022, 23:50
DarkMaster   Всмысле? a = "вася" b = a   5.5.2022, 0:11
Cockney   видимо нужно так a = 10 text = 'msg ' + ...   5.5.2022, 0:24
cirus   --lua local ffi = require('ffi') l...   5.5.2022, 1:44
Izatii   Спасибо!   5.5.2022, 2:24
cirus   Добавил в первый пост пример как ожидать сообщения...   7.5.2022, 13:36
apaul   Интересная штука, спасибо. А нельзя как-то пилоту ...   8.5.2022, 17:30
DarkMaster   package.cpath package.path Это по сути обычные те...   8.5.2022, 18:58
Madeus   В общем потестил сутки работало ок, теперь не поня...   13.5.2022, 22:16
NikitaRat   Работал пару месяцев, в один момент перестал работ...   12.6.2022, 20:14
Madeus   Я в итоге отказался от этого решения, пользуюсь св...   3.8.2022, 22:14
apaul   пользуюсь своим работает без проблем. Руки не дох...   8.8.2022, 12:38
Madeus   Очень стало интересно. А то захотел прикрутить в ...   8.8.2022, 17:09
DarkMaster   Лучше в новую. Прилеплю тему наверх, все дела.   4.8.2022, 11:02


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 20.6.2024, 4:02
Designed by Nickostyle