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

IRC-мост

Рекомендуемые сообщения

Я недавно выложил IRC-либу, которую я делал, чтобы собирать IRC-мост. Теперь я собрал и мост.

 

Установка

  1. Соберите компьютер с интернет-платой, кучей памяти (на всякий случай), админ-чатбоксом из OpenTechnology и дебаг-картой (через неё онлайн получает прога).
  2. Поставьте на него OpenOS.
  3. Пропишите следующие команды:
    mkdir -p /home/bin
    wget https://gist.githubusercontent.com/Fingercomp/df483bc2cefa13e0422d656ae82495ac/raw/c8617e01b7baa0e47936300fd9e783afa36601cb/irc-bridge.lua /home/bin/irc-bridge.lua

     

  4. Скачайте и установите 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

     

  5. Запустите мост, чтобы он создал конфиг-файл:
    irc-bridge
  6. Откройте файл /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 — показать, включён ли дебаг.

 

Как это выглядит

На мониторе будет рисоваться вот такое:

QywGWm8.png

 

Как можно догадаться, чтобы мост остановить, нужно нажать Ctrl-C.

 

Ссылки

Код на гисте: https://gist.github.com/Fingercomp/df483bc2cefa13e0422d656ae82495ac/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...