yung milonov
Известный
- 1,039
- 539
https://apps.timwhitlock.info/emoji/tables/unicode (not advertising)подскажите как тут эмодзи отправлять?
https://apps.timwhitlock.info/emoji/tables/unicode (not advertising)подскажите как тут эмодзи отправлять?
Откуда взять другие файлы для библиотеки?
no field package.preload['dolbobot']
no file 'C:\sborkafull\moonloader\lib\dolbobot.lua'
no file 'C:\sborkafull\moonloader\lib\dolbobot\init.lua'
no file 'C:\sborkafull\moonloader\dolbobot.lua'
no file 'C:\sborkafull\moonloader\dolbobot\init.lua'
no file '.\dolbobot.lua'
no file 'C:\sborkafull\moonloader\lib\dolbobot.luac'
no file 'C:\sborkafull\moonloader\lib\dolbobot\init.luac'
no file 'C:\sborkafull\moonloader\dolbobot.luac'
no file 'C:\sborkafull\moonloader\dolbobot\init.luac'
no file '.\dolbobot.luac'
no file 'C:\sborkafull\moonloader\lib\dolbobot.dll'
Фикс будет? Или чапо ваще уже забыл про эту либу?Работает минут 20 и выкидывает ошибку, памагите пожалуйста ;)
(пишет что ошибка возникает в самой библиотеки)
Ошибка:
Ошибка:[ML] (error) Telegram: cannot resume non-suspended coroutine stack traceback: ... Games Launcher\bin\arizona\moonloader\lib\dolbogram.lua: in function 'resolve' ... Games Launcher\bin\arizona\moonloader\lib\dolbogram.lua:44: in function <... Games Launcher\bin\arizona\moonloader\lib\dolbogram.lua:34> [ML] (error) Telegram: Script died due to an error. (0EB897DC)
У меня при этом:
КОД:script_name('Telegram') local encoding = require('encoding') encoding.default = 'CP1251' local u8 = encoding.UTF8 local Telegram = require('dolbogram') local bot = Telegram('54........не покажу ))))') bot:connect() function main() while not isSampAvailable() do wait(0) end wait(-1) end bot:on('ready', function(data) print('Bot started, name: ', data.first_name) end) bot:on('message', function(message) if message.text == '/info' then bot:sendMessage{chat_id = message.from.id, text = 'Kek lol'} end end)
Интересно, а к RakSAMP подойдет?Dolbogram - мини библиотека для упрощенного взаимодействия с Telegram Bot API.
"Подключение" к боту:
Lua:local Telegram = require('dolbogram') -- подключаем модуль local bot = Telegram('ТОКЕН_БОТА') -- создаем бота с вашим токеном bot:connect() -- "подключаемся" bot:on('ready', function(data) msg('Bot started, name: ', data.first_name) -- выводим имя бота после подключения end)
Вызов методов из Telegram Bot API:
- ищем нужный нам метод тут: https://core.telegram.org/bots/api
- смотрим какие "поля" нужны в методе и заполняем их емае
- пример с sendMessage:
Lua:bot:sendMessage{chat_id = 12345678, text = u8('Здарова ушлепок, как дела?')}
Обработка событий:
обработка событий происходит через метод "on", доступны следующие "события":
message
edited_message
channel_post
edited_channel_post
inline_query
chosen_inline_result
callback_query
shipping_query
pre_checkout_query
poll
poll_answer
my_chat_member
chat_member
chat_join_request
*
(туда будут отправляться все ивенты)
Функция "on" так же принимает коллбек функцию. Пример:
Lua:bot:on('message', function(message) print('New message from ID:', message.from.id, 'Text: ', message.text) end
Примеры использования:
Lua:local Telegram = require('dolbobot') local bot = Telegram('YOUR_TOKEN_HERE') bot:connect() bot:on('ready', function(me) print('Bot started!', ('ID: %s, Name: %s, Username: %s'):format(me.id, me.first_name, me.username)) end) bot:on('message', function(message) msg('New message from ID:', message.from.id, 'Text: ', message.text) bot:sendMessage{chat_id = message.from.id, text = message.text} end) function main() while not isSampAvailable() do wait(0) end wait(-1) end
Посмотреть вложение 201370
Lua:local encoding = require('encoding') encoding.default = 'CP1251' local u8 = encoding.UTF8 function msg(...) sampAddChatMessage(table.concat({...}, ' '), -1) end local Telegram = require('dolbogram') local bot = Telegram('TOKEN') bot:connect() bot:on('ready', function(data) msg('Bot started, name: ', data.first_name) end) bot:on('*', function(data, json) msg('Any event handler was called!', json) end) bot:on('message', function(message) msg('New message from ID:', message.from.id, 'Text: ', message.text) if message.text == '/start' then bot:sendMessage{chat_id = message.from.id, text = u8('Тыкай на кнопочки'), reply_markup = { keyboard = { { { text = u8('Ник') }, { text = u8('Айди') } }, { { text = u8('Сервер') } } } }} elseif message.text == u8('Ник') then bot:sendMessage{chat_id = message.from.id, text = u8('Твой ник: '..sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))))} elseif message.text == u8('Айди') then bot:sendMessage{chat_id = message.from.id, text = u8('Твой айди: '..select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))} elseif message.text == u8('Сервер') then bot:sendMessage{chat_id = message.from.id, text = u8('Какую инфу о сервере ты хочешь узнать?'), reply_markup = { inline_keyboard = { { { text = u8('Название'), callback_data = 'server:name' }, { text = u8('Адрес'), callback_data = 'server:address' } }, { { text = u8('Кол-во игроков'), callback_data = 'server:playersCount' } }, } }} else bot:sendMessage{chat_id = message.from.id, text = u8('Я не понимаю че тебе надо, дурила')} end end) bot:on('callback_query', function(query) if query.data == 'server:name' then bot:sendMessage{chat_id = query.from.id, text = u8(sampGetCurrentServerName())} elseif query.data == 'server:address' then bot:sendMessage{chat_id = query.from.id, text = u8('IP:PORT: ' .. table.concat({sampGetCurrentServerAddress()}, ':'))} elseif query.data == 'server:playersCount' then bot:sendMessage{chat_id = query.from.id, text = u8('На сервере: '..sampGetPlayerCount(false) .. '\nВ зоне стрима: '..sampGetPlayerCount(true))} end end) function main() while not isSampAvailable() do wait(0) end wait(-1) end
Если переписать пару функций (насколько помню, только заменить newTask на lua_thread.create)Интересно, а к RakSAMP подойдет?