All things are full of gods. - Thales from Miletus (~ 550 BC)
GNU Thales is looking for a maintainer! If you are interested, please email maintainers@gnu.org. The current sources are available via the thales savannah project.
Thales is an IRC to MySQL Gateway. It connects to your IRC network as a service, and converts messages he receives to SQL queries to update the database. It collects data about users, channels and servers. It doesn't build stats itself, but gives you the database, It's your role to write third-party applications or scripts, for example in PHP, to extract data from it. Some example applications are provided.
About everything.
Here are some examples of networks using Thales on their websites : Reptile Rapport, Insiderz.de (here), Dwchat (here).
This isn't provided as documentation, but only to let you understand how far you'll be able to go with Thales.
Since MySQL's attributes aren't case sensitive, modes are preceded by a L when they are in Lower case, and by a U when they are in Upper case.
SELECT channel, COUNT(*) AS user_count
FROM chan, ison
WHERE chan.chanid = ison.chanid AND chan.mode_ls="N" AND chan.mode_lp="N"
GROUP BY channel
ORDER BY user_count DESC
LIMIT 5;
+------------+------------+ | channel | user_count | +------------+------------+ | #amici | 13 | | #grvitalia | 12 | | #help | 6 | | #opers | 5 | | #linux | 4 | +------------+------------+
SELECT channel, ison.mode_lo, ison.mode_lv
FROM chan, ison, user
WHERE chan.chanid = ison.chanid
AND ison.nickid = user.nickid
AND user.nick="Jollino"
ORDER BY channel;
+--------------+---------+---------+ | channel | mode_lo | mode_lv | +--------------+---------+---------+ | #amici | Y | N | | #chieti | Y | Y | | #help | Y | N | | #interlingua | Y | N | | #opers | Y | N | | #paperopoli | Y | Y | +--------------+---------+---------+
SELECT server, COUNT(*) AS ircop_count
FROM server, user
WHERE server.servid = user.servid AND user.mode_lo="Y"
GROUP BY server
ORDER BY server ASC;
+-----------------------------+-------------+ | server | ircop_count | +-----------------------------+-------------+ | Bolzano1.IT.Discussioni.Org | 1 | | Bolzano2.IT.Discussioni.Org | 1 | | Chieti.IT.Discussioni.Org | 1 | | Milano.IT.Discussioni.Org | 1 | | Roma.IT.Discussioni.Org | 1 | | Services.Discussioni.Org | 7 | | Torino.IT.Discussioni.Org | 1 | +-----------------------------+-------------+
Thales currently runs with MySQL.
Thales can currently supports Unreal (3.1 or later).
Support for Bahamut (1.4.27 or later), Hybrid 7 and Ultimate (2.8 or later, 3.0.0 or later) is still included, but isn't maintained. If you are interested in maintaining it, please contact me.
If the ircd you use is not supported yet by Thales, please contact me, and include the following information :
You can subscribe or view the archives on this project's Savannah Mailing Lists page.
More information, bug tracking system, CVS access are available on the Savannah Project Page.
I strongly prefer that you use the mailing list to discuss Thales. Bug reports and features requests must be sent through the Savannah bugs page.
However, if you really need to contact me directly (to tell me secrets, for example), I can be reached at lucas@lucas-nussbaum.net.
Of course, the usual rules apply (I don't answer mails sent in HTML format, because I don't even receive them). Please double-check, read the doc, and provide enough information.