IRCBridgeModule/fr
From OpenSimulator
Languages: |
English Français |
Configurer IRCBridgeModule
IRCBridgeModule
vous permet de retransférer les discussions de votre région OpenSimulator vers un canal IRC et vice versa. Vous pouvez utiliser ce module pour
- rendre le chat dans le monde disponible via une interface en mode texte comme IRC.
- contrôler les objets depuis des canaux IRC
- utiliser des objets dans le monde pour contrôler des bots connectés via IRC
- ...
IRCBridge
peut être utilisé dans trois modes :
- en mode traditionnel où nous relayons toutes les discussions en ligne de toutes les régions vers un canal IRC unique sur un serveur unique, ou bien
- en mode multi-canal mode où nous pouvons relayer le chat in-world d'une région spécifique vers un canal spécifique (ou même vers un serveur spécifique).
- en mode objet relais de chat où nous ne relayons que les discussions vers et depuis les canaux privés du monde.
En plus, nous pouvons envoyer des commandes vers IRCBridge
depuis des objets du monde pour reconfigurer IRCBridge
Mode traditionnel de l'IRCBridgee
Dans le mode traditionnel d'IRCBridge
("traditionnel" parce que c'était le IRCBridge
original modus operandi) toutes les discussions d'avatars dans le monde de toutes les régions sont relayées à un canal de discussion IRC spécifique sur un serveur spécifique. La discussion d'un avatar est signalée par un robot IRC alimenté par OpenSimulator dans le canal IRC. Les discussions provenant du canal IRC sont signalées par la "voix de Dieu" dans toutes les régions (la voix de Dieu signifie que les avatars dans le monde "entendront" la discussion mais ne seront pas en mesure de voir l'auteur de la discussion dans la région).
Pour configurer IRCBridge
pour un fonctionnement en mode traditionnel, utilisez la section de configuration suivante dans votre fichier OpenSim.ini
(en la modifiant si nécessaire, bien sûr) :
[IRC] enabled = true ; vous devez définir ce paramètre, sinon la connexion ne se fera pas. server = some.irc.server.net nick = OpenSimBot user = " UTILISATEUR OpenSimBot 8 * :Je suis un bot OpenSim sur IRC " channel = #opensim port = 6667 relay_chat = true report_clients = true commands_enabled = false command_channel = 4711 access_password = WuffWuff relay_private_channels = false relay_private_channel_out = 4712 relay_private_channel_in = 4713 ;fallback_region = name of "default" region ;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message ; must start with "PRIVMSG {0} : " or irc server will get upset ;for <bot>:<user in region> :<message> msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" ;for <bot>:<message> - <user of region> : ;msgformat = "PRIVMSG {0} : {1} [{2}]: {3}" ;for <bot>:<message> - from <user> : ;msgformat = "PRIVMSG {0} : {3} - from {1}"
Parcourons la liste des options de configuration :
Variable de configuration | explication |
---|---|
enabled | vous devez définir ce paramètre à "true" sinon le IRCBridgeModule ne sera pas activé
|
server | le nom d'hôte du serveur IRC que vous comptez utiliser |
nick | le pseudo que IRCBridge utilisera pour se connecter au serveur IRC
|
channel | le canal IRC auquel se connecter |
port | le port du serveur IRC auquel se connecter ; il s'agit généralement du port 6667. |
relay_chat | pour le mode traditionnel, vous devez mettre ce paramètre sur "true" pour relayer la discussion normale dans le monde. |
report_clients | si vous mettez ce paramètre à "true", alors IRCBridge notifiera le canal IRC chaque fois qu'un avatar se connecte, entre dans une région, quitte une région et se déconnecte.
|
msgformat | sélectionnez le format de message que vous souhaitez que IRCBridge utilise pour relayer les messages du monde réel vers le canal IRC.
|
commands_enabled | laisser en l'état pour le mode traditionnel |
command_channel | laisser en l'état pour le mode traditionnel |
relay_private_channels | laisser en l'état pour le mode traditionnel |
relay_private_channel_in | laisser en l'état pour le mode traditionnel |
relay_private_channel_out | laisser en l'état pour le mode traditionnel |
access_password | laisser en l'état pour le mode traditionnel |
Mode multi-canal
Avec le mode multi-canal, nous pouvons configurer IRCBridge
pour relayer le chat de différentes régions dans des canaux IRC différents - ou même même dans différents canaux IRC sur différents serveurs IRC !
L'extrait suivant du fichier de configuration OpenSim.ini
configure IRCBridge
pour relayer les discussions de la région A vers le canal IRC #opensin-A-opensim.server.net
channel = "#opensim-[%region]-[%host]"
Regardons de plus près ce qui se passe ici :
IRCBridge
nous permet d'appliquer la substitution de variables (un mécanisme assez puissant).
configuration | explication |
---|---|
channel = “#OS” | connectera toutes les régions au même canal ; plusieurs serveurs opensim spécifiant ce même nom partageront le canal. |
channel = “#OS[%host]” | connectera toutes les régions d'un serveur opensim particulier au canal nommé; plusieurs hôtes spécifiant ce même modèle seront chacun connecté à un canal unique dérivé du nom de l'hôte |
channel = “#OS[%region]” | Chaque région sera connectée à un canal dérivé du nom de la région; en fait, toutes les régions seront connectées à un canal unique ; Si deux serveurs opensim utilisent une région portant le même nom identique, alors ces régions partageront le canal |
channel = “#OS[%host]-[%region]” | Chaque combinaison serveur-région sera connectée à un canal unique; cela offre la meilleure garantie d'un nom unique sur l'ensemble de l'internet. |
channel = “#OS[%region][%k]” | cette configuration permet de distinguer les activations consécutives de la même région en apposant un numéro unique à la fin du nom. |
Dans tous ces exemples, les crochets sont éliminés par le processus de substitution. Le préfixe '%' indique qu'il s'agit d'une variable d'exécution. Une valeur entre crochets et non précédée de '%' indique que la valeur peut avoir été fournie comme valeur dans la configuration de l'IRC ini. Par exemple, le mécanisme existant pour nommer le canal pourrait être rendu inutilement compliqué en spécifiant :
channel = “[channelid]” channelid = “#my-irc-channel”
Le processus de substitution est exhaustif, ainsi un nom de variable de configuration peut être construit à partir de valeurs d'exécution.
Pour illustrer cela, supposons que le fichier .ini contient :
channel = “[#[%region]]” #brief1 = “#chatter-1” #brief2 = “#chatter-2”
Alors la région brief1 sera connectée au canal #chatter-1, brief2 sera connectée à #chatter-2, et toutes les autres régions seront connectées à des canaux dont le nom est identique à celui de leur région. Il s'agit d'un exemple trivial, mais il prend tout son sens lorsque l'on considère tous les autres paramètres qui doivent être uniques par région (serveur, port, etc.). En utilisant ce mécanisme, nous pouvons créer un fichier ini qui a des paramètres uniques pour tous les aspects d'IRC pour chaque région.
Les paramètres suivants sont disponibles pour ce processus :
variable | explication |
---|---|
%host | nom d'hôte externe associé à une région |
%region | nom de la région |
%locX | Coordonnée X de la région. |
%locY | Coordonnée Y de la région. |
%master1 | Prénom de l'avatar maître |
%master2 | Nom de l'avatar maître |
%k | Un numéro unique attribué à cette région, par exemple "0". |
Enfin, un exemple plus complet d'un fichier de configuration. supposons que nous avons deux régions, Wonky et Borked :
channel = “[%region]” server = “[[%region]-server]” port = “[[%region]-port]” nick = “[[%region]-nick]” Wonky-server = irc1.server.org Wonky-port = 1234 Wonky-nick = WonkyBot Borked-server = irc2.anotherserver.net Borked-port = 1234 Borked-nick = BorkedBot
La région Wonky se connectera au canal IRC #Wonky
via le port 1234 du serveur IRC irc1.server.org
et IRCBridge
apparaîtra comme WonkyBot. Notre région Borked se connectera au canal IRC #Borked
via le port 1234 du serveur IRC irc2.anotherserver.net
en utilisant le surnom BorkedBot.
Mode de relais de chat par un objet
En mode relais de chat par un objet, IRCBridge
relaie les messages de et vers les canaux du monde.
Pour configurer IRCBridge
pour ce mode vous devez utiliser la configuration suivante :
[IRC] enabled = true ; vous devez définir ce paramètre, sinon la connexion ne se fera pas. server = some.irc.server.net nick = OpenSinBot channel = #opensin port = 6667 relay_chat = false report_clients = false commands_enabled = false command_channel = 4711 relay_private_channels = true relay_private_channel_out = 4712 relay_private_channel_in = 4713 access_password = WuffWuff ;fallback_region = name of "default" region ;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message ; must start with "PRIVMSG {0} : " or irc server will get upset ;for <bot>:<user in region> :<message> msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" ;for <bot>:<message> - <user of region> : ;msgformat = "PRIVMSG {0} : {1} [{2}]: {3}" ;for <bot>:<message> - from <user> : ;msgformat = "PRIVMSG {0} : {3} - from {1}"
Les variables de configuration importantes ici sont :
variable de configuration | explication |
---|---|
relay_chat | doit être désactivé (enfin, vous pouvez le garder activé si vos objets dans le monde sont silencieux et ne répètent pas ce qu'ils ont entendu) |
report_clients | n'a pas vraiment de sens si vous avez désactivé relay_chat |
relay_private_channels | doit être défini comme " true " |
relay_private_channel_in | Tout le trafic du canal IRC sera envoyé sur ce canal privé dans le monde. |
relay_private_channel_out | toutes les discussions sur ce canal privé dans le monde sont relayées sur le canal IRC. |
access_password | définissez ce mot de passe comme celui de votre choix |
Vos objets dans le monde doivent alors utiliser du code LSL conformément aux lignes suivantes :
llSay(command_channel, “access_password,from,message”);
pour envoyer des messages sur le canal IRC.
Configuration dans le monde
La dernière fonctionnalité qui mérite d'être mentionnée est que vous pouvez contrôler le IRCBridge
depuis le monde en envoyant des commandes sur un canal de commande spécifique.
Pour activer cette fonction, vous devez suivre les instructions de configuration suivantes :
commands_enabled = true command_channel = 4711
variable de configuration | explication |
---|---|
commands_enabled | doit être " true " (vrai) |
command_channel | définissez ce paramètre comme le numéro du canal privé dans le monde que vous souhaitez utiliser. |
IRCBridge
comprend les commandes suivantes:
variable de configuration | explication |
---|---|
server hostname | remplacer hostname par le nom d'hôte du serveur IRC |
port port-number | remplacer port-number par le port utilisé pour se connecter au serveur IRC |
channel channel-name | remplacer "channel-name" par le nom du canal utilisé |
nick new-nick | remplacer new-nick par le pseudo utilisé |
false | activer les rapports sur les clients |
in-channel channel-number | changer relay_private_channel_in en channel-number |
out-channel channel-number | changer relay_private_channel_out en channel-number |
close | fermer la connexion IRC |
connect | ouvrir la connexion IRC |
reconnect | fermer et rouvrir la connexion IRC |
Méthode irc_admin XmlRpc
IRCBridge
prend en charge une méthode XmlRpc qui vous permet d'obtenir la configuration IRCBridge
pour une région spécifique. Pour activer cette méthode, vous devez activer le module [RemoteAdmin]
.
irc_admin
attend deux paramètres:
paramètre | explication |
---|---|
password | le mot de passe de RemoteAdmin |
region | le nom de la région pour laquelle vous souhaitez configurer l'IRC. |
cela retournera
paramètre | explication |
---|---|
server | le nom du serveur |
port | le nom du port |
user | le nom d'utilisateur IRC utilisé |
channel | le nom du canal utilisé |
enabled | si le relais IRC est activé ou non |
connected | si le relais IRC est connecté ou non |
nickname | le pseudo actuel |
voici un exemple de code python montrant comment invoquer irc_admin
:
import xmlrpclib s = xmlrpclib.Server('http://opensim.zurich.ibm.com:9000/admin') print s.irc_admin(dict(password = 'c00lstuff', region = 'zurela')) {'channel': '#opensim-lotus3d-zurela-opensim.zurich.ibm.com', 'connected': True, 'enabled': True, 'nickname': 'lotus3dbot66', 'port': '', 'server': 'zurich.irc.ibm.com', 'success': True, 'user': "USER OpenSimBot 8 * :I'm an OpenSimulator to IRC bot"}