Обновление!
Теперь интернет-модем это действительно библиотека.
Добавлено автоподключение при разрыве связи, проверка состояния, ручное подключение к серверу.
Переменные:
imodem.server :строка - адрес IRC сервера, к которому надо подключится.
imodem.port :число - порт сервера.
imodem.channel :стpока - канал, в который надо зайти при подключении. Если задать nil, тогда общаться можно только через imodem.send(). Если задать канал после подключения, то можно сделать переподключение - imodem.connect(), либо послать сообщение на уровне IRC протокола - imodem.send_raw('JOIN #канал').
imodem.nick - ник бота, генерируется на основе адреса интернет-карты.
Методы:
imodem.isOnline() - возвращает, есть ли подключение к серверу.
imodem.connect() - подключается к серверу.
imodem.disconnect() - разрывает связь с сервером.
imodem.send_raw(сообщение: стpока) - отправить сообщение на уровне протокола.
imodem.broadcast(сообщение: стpока) - отправить сообщение в текущий канал.
imodem.send(цель: строка, сообщение: стpока) - отправить приватное сообщение пользователю или в канал.
Установка в OpenOS:
wget https://raw.githubusercontent.com/DOOBW/internet_modem/master/imodem.lua /lib/imodem.lua
Пример использования:
local imodem = require('imodem')
local event = require('event')
imodem.connect()
while not imodem.isOnline() do
os.sleep()
end
imodem.broadcast('Hello IRC!')
while true do
local e = {event.pull('modem_message')}
print(e[3]..': '..e[6])
end