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

Лидеры


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

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

  1. 4 балла
    Допилил версию 1.1.0. Теперь либа умеет трекать юзеров на канале, их префикс, аккаунты, ники, иные данные о них, режимы каналов. Досье целое собирает. Скачать можно через hpm. Только он не работает. Поэтому альтернативный вариант: тык.tar. Распаковывать можно программой tar (тырить из oppm). Документация для 1.1.0 лежит здесь. P. S. Совсем забыл. Ещё поддержку capabilities сделал. Если кто-то вообще понимает, что это такое.
  2. 2 балла
    Я недавно выложил IRC-либу, которую я делал, чтобы собирать IRC-мост. Теперь я собрал и мост. Установка Соберите компьютер с интернет-платой, кучей памяти (на всякий случай), админ-чатбоксом из OpenTechnology и дебаг-картой (через неё онлайн получает прога). Поставьте на него OpenOS. Пропишите следующие команды: mkdir -p /home/bin wget https://gist.githubusercontent.com/Fingercomp/df483bc2cefa13e0422d656ae82495ac/raw/c8617e01b7baa0e47936300fd9e783afa36601cb/irc-bridge.lua /home/bin/irc-bridge.lua Скачайте и установите IRC-либу. Например, так: mkdir -p /home/lib/irc /home/lib/irc/client /home/lib/irc/event /home/lib/irc/protocol cd /home/lib/irc set ADDR=https://gitlab.com/cc-ru/irc-oc/-/raw/v1.1.0/irc wget $ADDR/init.lua init.lua wget $ADDR/enum.lua enum.lua wget $ADDR/state.lua state.lua wget $ADDR/throttlingScheduler.lua throttlingScheduler.lua wget $ADDR/client/init.lua client/init.lua wget $ADDR/client/handlers.lua client/handlers.lua wget $ADDR/event/init.lua event/init.lua wget $ADDR/event/bus.lua event/bus.lua wget $ADDR/protocol/init.lua protocol/init.lua wget $ADDR/protocol/isupport.lua protocol/isupport.lua wget $ADDR/protocol/capabilities.lua protocol/capabilities.lua wget $ADDR/protocol/splitter.lua protocol/splitter.lua Запустите мост, чтобы он создал конфиг-файл: irc-bridge Откройте файл /etc/conversationalist.cfg. Там будет сериализованная Lua-таблица (не самый лучший формат конфига, согласен). Найдите и поменяйте следующие настройки: channel — канал, к которому подключаться nickname — ник бота в ирке account — имя аккаунта бота в ирке (можно в nil поставить, если нет) accountPassword — пароль от акка (также в nil поставить, если нет) gameAdmins или ircAdmins — в таблицу впишите себя, чтобы можно было конфигать Всё. Мост поставлен. Команды Мост воспринимает команды. Чтобы выполнить команду, например pm on: Пропишите в игре: #IRC: pm on Пропишите в ирке: /notice @<имя канала> pm on (например, /notice @#cc.ru-server1 pm on). Список команд: online — показать онлайн на другом конце моста. pm on — разрешить с другого конца моста слать вам ЛС. pm off — запретить слать вам ЛС. pm — показать, могут ли вам послать ЛС (в ирке включено по умолчанию, а в игре выключено и надо включать самому). msg <имя> <сообщение>: отправить ЛС юзеру на другом конце моста. pm ignore list — показать список игнорируемых юзеров. pm ignore add <имя> — добавить кого-то в этот список. pm ignore del <имя> — вытащить кого-то из него. Админы могут выполнять ещё такие команды: irc admin list — показать список админов в ирке. irc admin add <имя> — добавить кого-то в этот список. irc admin del <имя> — убрать кого-то из него. mc admin list, mc admin add <имя> и mc admin del <имя> — аналогично, но работает со списком админов в игре. irc whitelist list — показать список юзеров, которые могут слать сообщения в игру. irc whiltelist add <имя> — добавить кого-то в список. irc whiltelist del <имя> — убрать кого-то из него. mc blacklist list, mc blacklist add <имя>, mc blacklist del <имя> — аналогично, но работает со списоком тех, чьи сообщения не будут слаться в ирку. irc alias set <имя> <алиас> — установить алиас юзеру. Когда он будет писать сообщения в игру, его имя будет заменено на алиас. irc alias get <имя> — показать алиас для юзера. debug on — включить режим дебага. Мост будет писать весь трафик с IRC на экран. Полезно, чтобы узнать, почему тупит мост. Пароли будут показаны плейнтекстом, поэтому лучше оставить выключенным, хотя бы во время подключения. debug off — выключить этот режим. debug — показать, включён ли дебаг. Как это выглядит На мониторе будет рисоваться вот такое: Как можно догадаться, чтобы мост остановить, нужно нажать Ctrl-C. Ссылки Код на гисте: https://gist.github.com/Fingercomp/df483bc2cefa13e0422d656ae82495ac/
  3. 1 балл
    Предисловие Я думал на новый сервер запилить прогу — мост между чатом сервера и IRC. У меня уже были такие программки: я насчитал минимум 6 различных версий мостов — каждая была немного переделанным клиентом IRC, который на дискете встроенной есть. Понять, в чём разница, даже с вимдиффом было сложно. Потому я плюнул и решил запилить полноценную ирколибу с красивой апишкой. Как это выглядит Вот полный код бота — моста. Сто двадцать шесть строчек. Прокомментирую некоторые из них. ① Подключаем либу и для укорачивания имён ещё вытаскиваем events, в которых хранятся все ивенты и priority. ② Создаем клиент с помощью билдера. ③ Через :connection задаём настройки соединения. Самое важное — адрес иркосервера. Порт обязателен. ④ Ирколиба знает меру в флуде. Опасаться, что бота выкосит флуд-фильтром, можно гораздо меньше. Это опционально, конечно. ⑤ Задаём ник бота, юзернейм и реалнейм. Юзернейм виден в хосте (nickname!username@domain.name), а реалнейм пишется в /whois. ⑥ Ирколиба умеет авторизовываться на сервере. Тоже опционально. ⑦ Эта группа выделена для ботоводческих настроек. Но пока там единственная опция — в какие каналы автоматически заходить. ⑧ Здесь задаются настройки исполнения. Опция threaded, по дефолту включённая, запустит бота в отдельном треде. Опция reconnect, также включённая по умолчанию, заставит бота переподключиться к серверу, если отвалится от него. Опция catchErrors перехватит ошибки в пользовательких листнерах; она отключена по умолчанию, чтобы не смущать. ⑨ Бот генерит ивенты для каждого сообщения. Так мы задаём обработчик для ивента. К слову, вместо функции здесь может быть корутина. ⑩ Есть и другие события. Например, irc.events.client.connected означает, что клиент соединился с сервером. А irc.events.client.authenticated говорит, что теперь можно слать сообщения. ⑪ Когда мы закончили конфигурировать бота, собираем через :build(). Если вместо него вызвать :buildAndRun(), бот тут же ещё и запустится. ⑫ Для удобства создадим ещё один тред, где будем работать с чатбоксом и ждать ^C. ⑬ Запускаем бота. Затем ждём завершения любого из двух потоков. ⑭ Когда это произошло, мы выключаем клиент, если он ещё подключен: тот выйдет с сообщением "Quitting." ⑮ Наконец, принудительно останавливаем потоки. На всякий случай. Красота ведь. Репозиторий Репа либы — на нашем гитлабе. Там же есть примеры использования и документация с описанием всего. Наконец, версия 1.0.0 лежит на хеле. Из-за баги в OC хпм крашиться может (фиксить лень), но можно попробовать скачать: $ hpm install libirc
  4. 1 балл
    Готово, не уверен, что правильно понял, так что прошу протестировать. Код программы: pastebin Введи pastebin run tgVi9w3v — запустит программу, но рекомендую скачать вот так: pastebin get tgVi9w3v <название> - далее запусти.
  5. 1 балл
    ой. вы ничего не видели.
  6. 1 балл
    А зачем собственно тут два робота? Одного вполне достаточно
  7. 1 балл
    Если никто не сможет прочитать код-никто не сможет его критиковать если не сможет его понять
  8. 1 балл
    только для этого их сначала получить надо
  9. 1 балл
    Ты что забыл про галочку "я неробот"? Я всегда не прохожу этот тест и много времени трачу на поиск витрин и дорожных знаков. Куда уж там ботом пройти этот тест.
  10. 1 балл
    Это топ идея: Написать бота который будет искать сервера майна с определёнными модами. На найденном сервере регистрируется и заходит на него. Дальше собирает нужное количество ресов и строит робота. В робота закладывает программу, которая сможет развернуть ферму с учётом ттх сервера. И так в цикле while (true)
  11. 1 балл
    А можно программу для добычи российских рублей (ну или долларов) в мой кошелек? Только майнтест - только хардкор
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...