Difference between revisions of "Autopilot/Development"

From #openttdcoop wiki

Jump to: navigation, search
(New page: outline of future autopilot development == aims == * Information and automation * minute-to-minute management of the game * provide admin / website with information * bridge to irc / irc ...)
 
Line 7: Line 7:
 
* bridge to irc / irc bot
 
* bridge to irc / irc bot
 
* modular / customizable (without the need of editing ap source directly)
 
* modular / customizable (without the need of editing ap source directly)
 +
 +
== irc bot  ==
 +
=== rfc conform ===
 +
* use irc (0.6 or later) package from tcllib (1.10 or later)
 +
* standard eol-style: crlf (handled by irc package)
 +
* ping reply asap (handeld by irc package)
 +
* join channel only after /end of MOTD received
 +
 +
=== important callbacks ===
 +
'376' /end of MOTD (code to join channel in this callback)
 +
'332' joined channel (send /NAMES to keep internal nick list of channel)
 +
'353' reply from /NAMES (/NAMES response can appear multiple times depending on the number of clients in the channel, accumulate them)
 +
'366' /end of NAMES (process the accumulated list of channel nicks)
 +
'MODE' a mode change occured, send /NAMES to update the internal list
 +
'NICK' nickchange, send /NAMES
 +
'QUIT' a user from our channel quit, send /NAMES
 +
'PART' a user from our channel left, send /NAMES
 +
'KICK' we were kicked from the channel
 +
'INVITE' we have been invited to a channel
 +
'PRIVMSG' a channel or private message (detect private message by comparing [target] with the bot's irc nick name, do this case insensitive)

Revision as of 07:32, 22 August 2008

outline of future autopilot development

aims

  • Information and automation
  • minute-to-minute management of the game
  • provide admin / website with information
  • bridge to irc / irc bot
  • modular / customizable (without the need of editing ap source directly)

irc bot

rfc conform

  • use irc (0.6 or later) package from tcllib (1.10 or later)
  • standard eol-style: crlf (handled by irc package)
  • ping reply asap (handeld by irc package)
  • join channel only after /end of MOTD received

important callbacks

'376' /end of MOTD (code to join channel in this callback) '332' joined channel (send /NAMES to keep internal nick list of channel) '353' reply from /NAMES (/NAMES response can appear multiple times depending on the number of clients in the channel, accumulate them) '366' /end of NAMES (process the accumulated list of channel nicks) 'MODE' a mode change occured, send /NAMES to update the internal list 'NICK' nickchange, send /NAMES 'QUIT' a user from our channel quit, send /NAMES 'PART' a user from our channel left, send /NAMES 'KICK' we were kicked from the channel 'INVITE' we have been invited to a channel 'PRIVMSG' a channel or private message (detect private message by comparing [target] with the bot's irc nick name, do this case insensitive)

Powered by MediaWiki