Editing Relay

From Bebot Wiki 2
Jump to navigationJump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 24: Line 24:
 
Using tells as relay is discouraged nowadays (and you even run the risk of having your bots banned by funcom without warning), but we will describe it shortly nonetheless. Use at your own risk!
 
Using tells as relay is discouraged nowadays (and you even run the risk of having your bots banned by funcom without warning), but we will describe it shortly nonetheless. Use at your own risk!
  
Assuming you have two bots “bot1” and “bot2”, you start by allowing each bot to relay to each other. You could do a “!member add bot2” on bot1 and vice versa, but the member-list of org-bots might get wiped during roster-updates. So rather refer to section 2.4.2 as to how to create a new security group named “relaybots” with SUPERADMIN level on both bots and then make them member on the other bot's group.
+
Assuming you have two bots “bot1” and “bot2”, you start by allowing each bot to relay to each other. You could do a “!member add bot2” on bot1 and vice versa, but the member-list of org-bots might get wiped during roster-updates. Refer to section 2.3.2 as to how to create a new security group named “relaybots” with SUPERADMIN level on both bots and then make them member on the other bot's group.
  
 
If you've done this, you let bot1 relay to bot2:
 
If you've done this, you let bot1 relay to bot2:
Line 79: Line 79:
  
 
This is a compatible option available only into most recent bots (Bebot, Tyrbot, Nadybot). Most common choice is to use the websocket publicly provided for Nadybot.
 
This is a compatible option available only into most recent bots (Bebot, Tyrbot, Nadybot). Most common choice is to use the websocket publicly provided for Nadybot.
From there, your Nadybot(s) relay should be using websocket+highway+tyrbot layers (aes-gcm-encryption being optionnal) which will maximize the compatiliby with Tyrbot(s). You should check their respective documentation (as detailed lower) if you ever met issues with those 2 bots.
+
From there, your Nadybot(s) relay should be using websocket+highway+tyrbot layers (aes-gcm-encryption being optionnal) which will maximize the compatiliby with Tyrbot(s). You should check their respective documentation (as detailed lower) if you meet issues.
 
Also beware that, if you use such public websocket, the AES-GCM encryption goes from optionnal to mandatory for privacy protection !
 
Also beware that, if you use such public websocket, the AES-GCM encryption goes from optionnal to mandatory for privacy protection !
  
So from version 0.7.21 under PHP 7.0 or more, Bebot(s) will also be able to jump into the room and all bots should speak together, no matter which.
+
So from version 0.7.21, Bebot(s) will also be able to jump into the room and all should speak together.
  
 
For Bebot hosts, the WebSocket Relay is configured like this:
 
For Bebot hosts, the WebSocket Relay is configured like this:
  
 
     /tell org1bot !set websocket Room example2-test0-room9-1234abc-xyz789
 
     /tell org1bot !set websocket Room example2-test0-room9-1234abc-xyz789
     /tell org1bot !set websocket Password C0mpl3x-P4ssW0rD!
+
     /tell org1bot !set websocket Key C0mpl3x-P4ssW0rD!
 +
    /tell org1bot !set websocket Label OrgShorten
 
      
 
      
 
Assuming that our Org1 is called “The proud and well-known fr00bs of Rubi Ka”, relayed messages from your guildchat would be displayed on Org2 as [Org2] Org2Bot: [The proud and well-known fr00bs of Rubi Ka] [Channel] Pigtail: Test. You might want to shorten that “The proud and well-known fr00bs of Rubi Ka” a bit:
 
Assuming that our Org1 is called “The proud and well-known fr00bs of Rubi Ka”, relayed messages from your guildchat would be displayed on Org2 as [Org2] Org2Bot: [The proud and well-known fr00bs of Rubi Ka] [Channel] Pigtail: Test. You might want to shorten that “The proud and well-known fr00bs of Rubi Ka” a bit:
Line 99: Line 100:
  
 
Once all is set you can initate the persistent connection by :
 
Once all is set you can initate the persistent connection by :
     /tell org1bot !ws connect
+
     /tell org1bot ws connect
(then disconnect if you ever need to remove that persistent connection)
+
(then disconnect if you need to remove that persistent connection)
  
Final element to configure, you need to add all other Orgs signing Tags to your bot so it can display those others online lists. Small issue with WebSocket is you couldn't easily discover those Tags before receiving other Orgs messages, eg :
+
Final element to configure, you need to add all other orgs signing Tags to your bot so it can display others online lists. Small issue with WebSocket is you can't easily discover those Tags before receiving other orgs messages, eg :
 
     [Org2Tag] [Priv] Player: hello all!
 
     [Org2Tag] [Priv] Player: hello all!
 
To include that org into you local bot's online, you'd have to add its Tag exactly as you've seen it as follow (keeping upper example) :
 
To include that org into you local bot's online, you'd have to add its Tag exactly as you've seen it as follow (keeping upper example) :
Line 108: Line 109:
 
And as soon you discover more Org Tags you'd add them separated by commas ',' like this :
 
And as soon you discover more Org Tags you'd add them separated by commas ',' like this :
 
     /tell org1bot !set online OtherBots Org2Tag,Org3Tag,Org4Tag
 
     /tell org1bot !set online OtherBots Org2Tag,Org3Tag,Org4Tag
But to help you discover them faster, once your bot is connected into WebSocket & receiving messages, you could rather do :
 
    /tell org1bot !ws others
 
This command should provide you with the wanted Tags list formatted to be copy-pasted to upper online set. Just beware that if some new Org joined in, or if any Org changed its Tag, you'd have to update & reset that online OtherBots value by redoing this process.
 
 
Few other Websocket options are also into :
 
    /tell org1bot !settings websocket
 
  
  
Line 272: Line 267:
 
'''2.4.4.2 At least one bot not using the same DB'''
 
'''2.4.4.2 At least one bot not using the same DB'''
  
Starting from 0.6.3, the online-list of linked bots are automatically syncronized within !gcr protocol (not within !agcr), but all bots have to run at least 0.6.3 or higher for this to work. When you meet these requirements, proceed to set OtherBots as described in 2.4.4.1.
+
Starting from 0.6.3, the online-list of linked bots are automatically syncronized within !gcr protocol (not within !agcr), but all bots have to run at least 0.6.3 or higher for this to work. When you meet these requirements, proceed to set OtherBots as described in 2.3.4.1.
  
 
For other bots than Bebot, like Tyr or Buda/Nad, they have their own particular settings, so you have to read their documentation :
 
For other bots than Bebot, like Tyr or Buda/Nad, they have their own particular settings, so you have to read their documentation :
Line 296: Line 291:
  
 
Keep in mind that this setup only works if all your bots are using the same database. It's can't work elsewise.
 
Keep in mind that this setup only works if all your bots are using the same database. It's can't work elsewise.
First, make sure to grant each of the bots involved in your network access to each other (either by using “!member add botX” or creating a special security group for this as described in 2.4.2. Now do the following (assuming there are three bots, named bot1, bot2 and bot3):
+
First, make sure to grant each of the bots involved in your network access to each other (either by using “!member add botX” or creating a special security group for this as described in 2.3.2. Now do the following (assuming there are three bots, named bot1, bot2 and bot3):
  
 
     /tell bot1 !set Relay StrictNameCheck On
 
     /tell bot1 !set Relay StrictNameCheck On
Line 331: Line 326:
 
'''4. Extension'''
 
'''4. Extension'''
  
PROS : can connect to more than one relay at the time
+
PROS : can connect to more than one relay
  
CONS : uses !agcr protocol without online list sharing (so if you need it, check upper for grc/c, websocket or DB method)
+
CONS : uses !agcr protocol without online list sharing.
  
 
You may have to connect your bot to more than one relay channel, several networks at the same time.
 
You may have to connect your bot to more than one relay channel, several networks at the same time.
Line 341: Line 336:
 
Then you'll have upto five "Hrelay" (HRelay1, HRelay2, HRelay3, HRelay4 and HRelay5) available in the !settings menu.
 
Then you'll have upto five "Hrelay" (HRelay1, HRelay2, HRelay3, HRelay4 and HRelay5) available in the !settings menu.
 
You can edit any by its number, for example with number 1 you do :
 
You can edit any by its number, for example with number 1 you do :
    !settings HRelay1
+
!settings HRelay1
 
It's then up to you to setup on the same model than described upper.
 
It's then up to you to setup on the same model than described upper.
 
Usually you'd use Channel mode, as Tells will be risky with many bots, & DB mode quite unusable for bots hosted separately.
 
Usually you'd use Channel mode, as Tells will be risky with many bots, & DB mode quite unusable for bots hosted separately.

Please note that all contributions to Bebot Wiki 2 may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Bebot Wiki 2:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)