IRCBridgeModule/fr

Configurer 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

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  depuis des objets du monde pour reconfigurer

Mode traditionnel de l'IRCBridgee
Dans le mode traditionnel d' ("traditionnel" parce que c'était le   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  pour un fonctionnement en mode traditionnel, utilisez la section de configuration suivante dans votre fichier   (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

msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}"
 * 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 : :
 * for : - :
 * msgformat = "PRIVMSG {0} : {1} [{2}]: {3}"
 * for : - from :
 * msgformat = "PRIVMSG {0} : {3} - from {1}"

Parcourons la liste des options de configuration :

Mode multi-canal
Avec le mode multi-canal, nous pouvons configurer  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  configure   pour relayer les discussions de la région A vers le canal IRC

channel = "#opensim-[%region]-[%host]"

Regardons de plus près ce qui se passe ici : nous permet d'appliquer la substitution de variables (un mécanisme assez puissant).

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]]”
 * 1) brief1 = “#chatter-1”
 * 2) 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 :

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  via le port 1234 du serveur IRC   et   apparaîtra comme WonkyBot. Notre région Borked se connectera au canal IRC  via le port 1234 du serveur IRC   en utilisant le surnom BorkedBot.

Mode de relais de chat par un objet
En mode relais de chat par un objet,   relaie les messages de et vers les canaux du monde.

Pour configurer  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

msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}"
 * 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 : :
 * for : - :
 * msgformat = "PRIVMSG {0} : {1} [{2}]: {3}"
 * for : - from :
 * msgformat = "PRIVMSG {0} : {3} - from {1}"

Les variables de configuration importantes ici sont :

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  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

comprend les commandes suivantes:

Méthode irc_admin XmlRpc
prend en charge une méthode XmlRpc qui vous permet d'obtenir la configuration  pour une région spécifique. Pour activer cette méthode, vous devez activer le module. attend deux paramètres:

cela retournera

voici un exemple de code python montrant comment invoquer  :

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"}