Google Talk: Conference Bot
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.
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.
- 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
- 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.
Activity is only checked every 4 hours.
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
Version 1.28 was primarily done by limodou.
- Add listemotes command
- Add addemote <action> <representation> command
- Add setoption <option> value command you can control private, hide_status, debug, topic, sysprompt
- Add listoptions
- Add delemote <emote> command
- Add lang <language> 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.
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
- Bug fix: Don't crash when creating the initial config file
- Feature: Add support for hide_status updates (away, available etc)
- 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
- 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.
- 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