Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 20.02.2019 в Сообщения

  1. 3 балла
    Недавно начал писать бота с использованием этой замечательной библиотеки, но к несчастью столкнулся с некоторыми недоработками. Поэтому решено было доработать библиотеку imodem и вот что из этого получилось: Обновление для библиотеки imodem Теперь imodem может обрабатывать личные сообщения (раньше просто игнорил их). Говорим спасибо @Bit Добавлена авторизация ника Все данные по именам/каналам лежат в файле конфигурации по адресу /etc/imodem.cfg Возможен запуск по данным пользователя из Shell Добавлено логирование Добавлено переподключение если отключится интернет Итак, поясняю. Немного изменился порядок приема сообщения. Теперь входные данные выглядят так: modem_message ник_imodem ник_говорящего 0 #канал/ник_imodem сообщение Если сообщение идет с канала, то указывается канал, если личное сообщение, то ник imodem. Чтобы не лазить по библиотеке, ради изменения ника, канала, сервера было решено перенести все эти данные в файл конфигурации. Библиотека автоматически проверяет файл конфигурации, и в случае если его не найдет, самостоятельно его восстановит. Данные хранятся в следующем виде: nick = "Тут ник" pass = "Пароль (0)" server = "irc.esper.net:6667" channel = "#канал" log = "Записывать логи (1/0)" Чтобы не заморачиваться с настройкой ника/канала/сервера/логов можно передать все эти данные одной командой: imodem [server[:port]] <nickname> <password> <channel> <save(1/0)> <log(1/0)> Ну а если все настроено и вас устраивает, можете напрямую imodem запускать и по сохраненным данным все запустится. Логирование сделано больше для отладки, логи можно найти по адресу /IMODEMLOG.txt Для того чтобы imodem мог переподключаться, через каждые 60 секунд оправляется пингование на сервер. И если в течении 30 секунд не придет ответ, imodem автоматически переподключится. Это лучше чем словить кратковременный сбой в доступе к интернету и потом вручную перезагружать библиотеку. Скачать библиотеку можно по команде pastebin get -f MvR7FTGS /lib/imodem.lua Выражаю благодарность за помощь в улучшении @Bit, @Doob, @vladimir, @Fingercomp
  2. 1 балл
    Иногда надо связать несколько компьютеров на большом расстоянии или между мирами, или даже между серверами. Так как у нас есть интернет-карта, можно провернуть несложный хак - пустить информацию через внешний сервер. Но чтобы не писать серверную часть, можно использовать готовый протокол с готовыми серверами. Получается крутая связанная карта для многих компов. Данная программа реализует IRC мост, по которому могут общаться не только опенкомпы, но и любые устройства с интернетом. Например, можно с мобильника дать команду своим компьютерам на нескольких игровых серверах. Использование: Скачать программу pastebin get CmLFFF7g /bin/imodem.lua Проверить наличие интернет-карты в компьютере Запустить программу imodem В течении некоторого времени будет устанавливаться связь, а затем можно работать с модемом. Чтобы послать сообщение всем устройствам на канале, есть функция imodem.broadcast( сообщение: строка ) Чтобы послать сообщение по определенному адресу - imodem.send( получатель: строка, сообщение: строка ) Для разрыва связи и прекращения работы - imodem.stop() А чтобы принимать сообщения, достаточно ловить событие modem_message, как у обычных модемов. Адрес сервера и канал можно изменить в коде программы, желательно иметь сервер без обрезания ников и защиты от флуда.
  3. 1 балл
    Странно, у меня личные сообщения нормально обрабатываются. Флаг для логирования можно тоже сунуть в конфиг. Конфиг следует сделать в виде lua-таблицы - быстрей и меньше кода. Изначально все задумывалось как программный модем между компами. Логин для NickServ и прочие изощрения поверх стандарта, пользователь должен был организовывать в своей программе. imodem это всего-лишь интерфейс, совместимый с OpenOS. Хотя, да не сделал пинг в сторону сервера, каюсь.
  4. 1 балл
    Тут на днях обновленная софтина Multiscreen в маркет затесалась - добавлена группировка по цветам для гораздо более быстрой отрисовки жирных пикч. Правда, чем жирнее пикча, тем дольше будет обрабатываться каждый моник, но и это уже заметный прогресс:
  5. 1 балл
    Библиотека robot и компонент robot несколько отличаются. При использовании компонента в вызове robot.swing(3) следует указывать сторону, как в коде @Doob
  6. 1 балл
    Может опечатка? Вот рабочий код: local robot = component.proxy(component.list('robot')()) while true do computer.beep(20, 0.5) if robot.detect(3) then robot.swing(3) end end
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...