2007-12-31

Happy new year to you all

Gtalk Conferencebot

Google Talk: Conference Bot

About

The google talk conference bot was written by me to address the lack of MUC server for google talk. Without s2s I couldn't run my own MUC server, so I wrote something similar. A conference bot.

The conference bot works runs as a normal google talk user that relays everything said to it to everyone on its contact list. It supports some simple commands (like )names), and has a basic admin interface to deal with abusers. The bot is written in python, and is tested under Linux, although apparently it works fine under Windows too.

Commands

This is a list of commands supported by the bot. You can use "/" or ")" to prefix commands. Some clients use "/" internally for their own commands.

)help
This shows a list of the commands you hava available to you
/me emote
This command can be used to show an emote. For example, /me sighs appears to other users as * yournick sighs
)quit message
This command removes you from the bots contact list, and therefore removes you from the conversation. A message can be used to show people why you left.
)msg person message
This command lets you send a private message to another user. For example to tell Isomer that he is cool you would use )msg Isomer You are cool
)names
This command lists all the users in the conferencebot's buddy list, effectly showing everyone who is in the conference. Admins have a "@" before their name, and users who are away are in brackets and appear at the end of the list
There are some admin commands that can be used to control the bot.

Bots

Account Name Topic Last Seen Active* Users Version
RixConferenceBot@gmail.com GroupChat Rixnet@gmail.com 2 hours 17 minutes ago 9/658 1.31
erlangtalk@gmail.com Erlang free talk (Chinese Group) 2 hours 22 minutes ago 167 1.9.2
members.cyberniks@gmail.com Meeting For CyberNiks 3 hours 21 minutes ago 7 1.6
ogcchatbot@olivegreen.org Olivegreen IRC-Gtalk Bot 3 hours 25 minutes ago 15/303 1.31
js.bot.cnal@gmail.com CNAL js. 6 hours 18 minutes ago 12 1.31
4815162342er@gmail.com Schumann\'s Gtalk Bot - *Merry Christmas* Welcome if you fit here; Work, music, movie, relationship topic are welcome... NO SPAM & NO SWEAR WORD ... 15 hours 44 minutes ago 2/103 1.31
friends.conf@gmail.com Private Chat 1 days 16 hours 51 minutes ago 2/11 1.31
kingljy0818@gmail.com JuGuang BioTech Inc. 3 days 4 hours 28 minutes ago 2/8 1.31
bravesoft2010@gmail.com BraveSoft 8 days 7 hours 42 minutes ago 9 1.31
* Activity is only checked every 4 hours.

Download

The bot is available under the GPL. To configure it you need to make sure you have a copy of python installed. Then download the latest version. Then run the "confbot.py" script. The bot will prompt you for the bots gmail account name and password, as well as a topic to describe the bot. Then it should all be working! You might want to edit the confbot.ini file later to change some of the settings.

Note when upgrading to 1.6: You will need to delete your confbot.ini file and let the bot generate you a new one.

conferencebot is also available in subversion

Changelog

1.28

Version 1.28 was primarily done by limodou.
  • Add listemotes command
  • Add addemote command
  • Add setoption
  • Add listoptions
  • Add delemote command
  • Add lang command to switch native lanauge for one user
  • Add switch multilang functionality on the fly
  • Add logfileformat option, so you can put one day log into one file
  • Add listlangs command shows available translation languages, en is default
  • Add restart command
  • logfile can be create new file as day past by
  • Remove listadmins and listbans command, because /names is ok
  • Add status command, so you can set bot's status
  • Fix bugs
  • Change restart to reconnect, it's more clearly
  • Change some command according to IRC: status->whois, nochat->away
  • Change away command just like irc, if has a msg, add 'away' flag to user, if no msg, remove 'away' flag
  • Add mode command to set some option, just like skip system prompt /mode +s On /mode -s Off
  • Redesign the process of /help command, make cmd_x function docstring in help infomation
  • Add auto reconnect mechanism as network delay is too long
  • Change Config4Obj to dict4ini
  • Add the bot start time in logfile
  • Auto send bot status per 2 minitues
  • Resume the /nochat and /chat command for convenience
  • If someone has set his flag 'away', but as he send a message to bot, the 'away' flag will be auto removed
  • Versioning system changed to use subversion repository $Revision$ instead of the releases. This should make it easier to keep up.

1.6

Version 1.6 was done by limodou.
  • Feature: Multilanguage support
  • Feature: Add debug flag
  • Feature: Add logpath option
  • Feature: Add language option
  • Feature: Add emotes option
  • Feature: Add Chinese translation po file
  • Feature: Add sysprompt option and add systoone systoall function
  • Feature: Add super admin flag
  • Feature: Add 'nochat' flag
  • Feature: Add /chat /nochat /status /version command
  • Feature: Redesign the configuration system

1.5

  • Bug fix: Don't crash when creating the initial config file
  • Feature: Add support for hide_status updates (away, available etc)

1.4

  • Bug fix: Don't turn the conference room private all the time!
  • Feature: Reload the config with )reload. The idea was given to me by http://www.donews.net/limodou

1.3

  • Bug fix: When people remove the bot from their roster, remove them from the bots roster too!
  • Feature: Display the topic when users join.
  • Feature: Don't hardcode @gmail.com so much, use "server".
  • Feature: Show the last 5 lines when people join.
  • Bug fix: "has left" should be prefixed by ***
  • Feature: New Configuration system.
    Configuration is now kept in an .ini file, instead of the confbot.py. If the .ini file is not found the bot will ask you some questions on startup to create it. Older adminlist files are automagically converted.
  • Feature: Bans added
  • Feature: Private rooms added
  • Feature: invite admin command added
  • Feature: Log file now called "xmpp.log" rather than "xmllog"
  • Bug fix: The bot will now warn you if you are away, and you send a message to the conference.
  • Feature: Change ")help" to just )help to see if more people understand what's going on.

1.2

  • The bot now correctly answers google's health check. This means that the bot won't time out after 5 minutes of inactivity.
  • The usual minor bug fixes