Ресурс IRC

Введение

Ресурс "Internet Relay Chat" предоставляет вам echobot, который выводит сообщения из чата в irc-канал.

Установка модуля sockets

- Положите модуль в папку MTA: Чтобы MTA подгрузила модуль, он должен лежать в папке mods/deathmatch/modules, если таковой папки нет, то создайте ее.

- Добавьте модуль в файл mtaserver.conf: Чтобы MTA подгрузила модуль при старте сервера, добавьте строку для Windows:
<module src="ml_sockets.dll"/>

Или для Linux:
<module src="ml_sockets.so"/>


Установите ресурс IRC

- Измените файл settings.xml: Откройте данный файл и следуйте инструкциям внутри, чтобы настроить IRC.
- Измените файл meta.xml: Откройте данный файл и следуйте инструкциям внутри. Вы можете изменить данные настройки в admin панели на сервере.
- Acl права Ресурсу нужны ACL права для того чтобы правильно функционировать, в их число входят addBan, kickPlayer, callRemote.

Теперь вы можете запустить ресурс, а если во время процесса установки сервер уже работал, вам понадобится прописать команды /loadmodule ml_sockets.dll (или /loadmodule ml_sockets.so для Linux) и /refreshall и /start irc.

Файл acl.xml

Файл acl.xml внутри ресурса irc отвечает за ACL права для irc-команд.
<command name="!kick" level="2" echoChannelOnly="true" />

name - Команда с восклицательным знаком перед ее именем.
level - Минимальный уровень, который нужен IRC пользователю, чтобы иметь возможность использовать команду.
echoChannelOnly - Может ли команда быть использована вне echo канала.

Элементы

Каждый пользователь, канал или сервер, представлены элементами.

Тип элемента, которым представлен сервер: "irc-server"
Тип элемента, которым представлен канал: "irc-channel"
Тип элемента, которым представлен пользователь: "irc-user"

Система уровней

Ресурс IRC использует свою систему уровней. Все пользователи, которым не установлен режим, имеют уровень 0.

Owner (~) - Уровень 5.
Super Operator (&) - Уровень 4.
Operator (@) - Уровень 3.
Helper (%) - Уровень 2.
Voice (+) - Уровень 1.

События

Во время работы IRC срабатывают некоторые события с целью облегчить вам написание расширений к ресурсу. Чтобы их задействовать, используйте:
addEvent("eventName")

Имя: onIRCConnecting
Источник: server theIRCServer

Имя: onIRCConnect
Источник: server theIRCServer

Имя: onIRCFailConnect
Источник: server theIRCServer
Параметр: string reason

Имя: onIRCUserJoin
Источник: user theIRCUser
Параметр: channel theIRCChannel, string vhost

Имя: onIRCUserNickChange
Источник: user theIRCUser
Параметр: string oldNick, string newNick

Имя: onIRCUserPart
Источник: user theIRCUser
Параметр: channel theIRCChannel, string theReason

Имя: onIRCUserKick
Источник: user theIRCUser
Параметр: channel theIRCChannel, string theReason, user theKicker

Источник: user theIRCUser
Параметр: string theMessage

Имя: onIRCMessage
Источник: user theIRCUser
Параметр: channel theIRCChannel, string theMessage

Имя: onIRCPrivateNotice
Источник: user theIRCUser
Параметр: string theMessage

Имя: onIRCNotice
Источник: user theIRCUser
Параметр: channel theIRCChannel, string theMessage

Имя: onIRCUserMode
Источник: user theIRCUser
Параметр: channel theIRCChannel, boolean positive, string theMode, user theSetter

Имя: onIRCChannelMode
Источник: channel theIRCChannel
Параметр: boolean positive, string theMode, user theSetter

Имя: onIRCLevelChange
Источник: user theIRCUser
Параметр: channel theIRCChannel, number oldlevel, number newlevel

Имя: onIRCUserQuit
Источник: user theIRCUser
Параметр: string theReason

Экспортированные функции

Эти функции могут быть вызваны из другого ресурса, чтобы помочь вам в написании расширения для IRC. Используйте таблицу exports или call для их вызова.

Пример 1:
exports.irc:ircConnect("irc.gtanet.com","bot",6667)

Пример 2:
call(getResourceFromName("irc"),"ircConnect","irc.gtanet.com","bot",6667)


Имя: ircHop
Возвращает: boolean
Параметр: server theIRCServer, (string theReason)

Имя: ircSay
Возвращает: boolean
Параметр: channel theIRCChannel/user theIRCUser, string theMessage

Имя: ircRaw
Возвращает: boolean
Параметр: server theIRCServer, string theRaw

Имя: ircPart
Возвращает: boolean
Параметр: channel theIRCChannel, (string theReason)

Имя: ircJoin
Возвращает: boolean
Параметр: server theIRCServer, string theChannelName, (string theChannelPassword)

Имя: ircAction
Возвращает: boolean
Параметр: channel theIRCChannel/user theIRCUser, string theMessage

Имя: ircNotice
Возвращает: boolean
Параметр: channel theIRCChannel/user theUserChannel, string theMessage

Имя: outputIRC
Возвращает: boolean
Параметр: string theMessage

Имя: ircConnect
Возвращает: boolean
Параметр: string serverHost/IP, string nickname, (number serverPort), (string serverPassword), (boolean secure)

Имя: ircIdentify
Возвращает: boolean
Параметр: server theIRCServer, string thePassword

Имя: ircReconnect
Возвращает: boolean
Параметр: server theIRCServer

Имя: ircDisconnect
Возвращает: boolean
Параметр: server theIRCServer, string theReason

Имя: ircChangeNick
Возвращает: boolean
Параметр: server theIRCServer, string newNick

Имя: ircGetServers
Возвращает: table

Имя: ircGetServerName
Возвращает: string
Параметр: server theIRCServer

Имя: ircGetServerHost
Возвращает: string
Параметр: server theIRCServer

Имя: ircGetServerPort
Возвращает: number
Параметр: server theIRCServer

Имя: ircGetServerPass
Возвращает: string
Параметр: server theIRCServer

Имя: ircGetServerNick
Возвращает: string
Параметр: server theIRCServer

Имя: ircIsServerSecure
Возвращает: boolean
Параметр: server theIRCServer

Имя: ircGetServerChannels
Возвращает: table
Параметр: server theIRCServer

Имя: ircGetChannelServer
Возвращает: userdata
Параметр: channel theIRCChannel

Имя: ircGetChannels
Возвращает: table
Параметр: server theIRCServer

Имя: ircSetChannelMode
Возвращает: boolean
Параметр: channel theIRCChannel, string theMode

Имя: ircGetChannelName
Возвращает: string
Параметр: channel theIRCChannel

Имя: ircGetChannelMode
Возвращает: string
Параметр: channel theIRCChannel

Имя: ircGetChannelUsers
Возвращает: table
Параметр: channel theIRCChannel

Имя: ircGetChannelTopic
Возвращает: string
Параметр: channel theIRCChannel

Имя: ircGetChannelFromName
Возвращает: userdata
Параметр: string theChannelName

Имя: ircIsEchoChannel
Возвращает: bool
Параметр: channel theIRCChannel

Имя: ircSetUserMode
Возвращает: boolean
Параметр: user theIRCUser, string theMode

Имя: ircGetUserMode
Возвращает: string
Параметр: user theIRCUser

Имя: ircGetUserNick
Возвращает: string
Параметр: user theIRCUser

Имя: ircGetUserLevel
Возвращает: number
Параметр: user theIRCUser

Имя: ircGetUsers
Возвращает: table
Параметр: server theIRCServer

Имя: ircGetUserServer
Возвращает: userdata
Параметр: user theIRCUser

Имя: ircGetUserLevel
Возвращает: number
Параметр: user theIRCUser, channel theIRCChannel

Имя: ircGetUserVhost
Возвращает: string
Параметр: user theIRCUser

Имя: ircGetUserFromNick
Возвращает: userdata
Параметр: string theNickname

Имя: addIRCCommandHandler
Возвращает: bool
Параметр: string theCommandName, function theFunctionToCall/string functionName, (number minimumLevel), (boolean echoChannelOnly)

Имя: ircGetCommands
Возвращает: table

Имя: ircGetCommandLevel
Возвращает: number
Параметр: string theCommand

Имя: ircIsCommandEchoChannelOnly
Возвращает: boolean
Параметр: string theCommand
Здесь может быть реклама Вашего сервера или группы

Нажмите сюда, что бы ознакомится с ценами аренды

Категория: База знаний

Автор(ы): MTA Community

Добавил: RaceR

Дата добавления: 20.04.2014

Войдите или зарегистрируйтесь чтобы оставлять комментарии