The Bawt To-Do List

(use %bug to suggest thingies to add)

Bawt 2.0 in the making

Bawt 2.0 is now in the works, after a bunch of paper-planning and stuff like that. So, now I'm going to split the bawt development into two forks. The Bawt 1.nnn fork is now frozen at 1.145, save for bugfixes. Bawt 2.00 is starting up from there.

Consider this a "request for comments" which can be delivered to bawt@beorn.mentasm.com or to Optic on IRC.

Prioritized Stuff

(reverse chronological)
  1. Socket module
  2. IRC parsing module
  3. configuration script to make databases and default settings
  4. IRC connections, idling on server, understanding commands
  5. configuration system and commands, SQL access for debugging
  6. User database module
  7. Recognizing users on join, keeping track of users in channel
  8. Commands to modify user database
  9. FAQ database module
  10. Commands to modify FAQ
  11. ...and more

The new database system

The new database will contain several separate related tables in an mSQL database:

the people table

Database = bawt
Table    = people

 +-----------------+----------+--------+----------+--------------+
 |     Field       |   Type   | Length | Not Null | Unique Index |
 +-----------------+----------+--------+----------+--------------+
 | userid          | int      | 4      | Y        | N/A          |
 | nick            | char     | 30     | Y        | N/A          |
 | status          | int      | 4      | Y        | N/A          |
 | lastpart        | int      | 4      | N        | N/A          |
 | partreason      | char     | 30     | N        | N/A          |
 | joins           | int      | 4      | N        | N/A          |
 | kicks           | int      | 4      | N        | N/A          |
 | kicked          | int      | 4      | N        | N/A          |
 | lines           | int      | 4      | N        | N/A          |
 | fname           | char     | 20     | N        | N/A          |
 | lname           | char     | 20     | N        | N/A          |
 | middle          | char     | 1      | N        | N/A          |
 | email           | char     | 50     | N        | N/A          |
 | location        | char     | 50     | N        | N/A          |
 | url             | char     | 50     | N        | N/A          |
 | bio             | text     | 100    | N        | N/A          |
 | passwd          | char     | 30     | N        | N/A          |
 | idx1            | index    | N/A    | N/A      | Y            |
 | idx2            | index    | N/A    | N/A      | N            |
 +-----------------+----------+--------+----------+--------------+
 

the masks table


Database = bawt
Table    = masks

 +-----------------+----------+--------+----------+--------------+
 |     Field       |   Type   | Length | Not Null | Unique Index |
 +-----------------+----------+--------+----------+--------------+
 | usermask        | char     | 50     | Y        | N/A          |
 | userid          | int      | 4      | Y        | N/A          |
 | status          | int      | 4      | N        | N/A          |
 | lastpart        | int      | 4      | N        | N/A          |
 | idx1            | index    | N/A    | N/A      | Y            |
 | idx2            | index    | N/A    | N/A      | N            |
 +-----------------+----------+--------+----------+--------------+

the nicks table

Database = bawt
Table    = nicks

 +-----------------+----------+--------+----------+--------------+
 |     Field       |   Type   | Length | Not Null | Unique Index |
 +-----------------+----------+--------+----------+--------------+
 | nickname        | char     | 30     | Y        | N/A          |
 | userid          | int      | 4      | Y        | N/A          |
 | idx1            | index    | N/A    | N/A      | N            |
 | idx2            | index    | N/A    | N/A      | N            |
 +-----------------+----------+--------+----------+--------------+

the user-options table

Database = bawt
Table    = options

 +-----------------+----------+--------+----------+--------------+
 |     Field       |   Type   | Length | Not Null | Unique Index |
 +-----------------+----------+--------+----------+--------------+
 | tag             | char     | 20     | Y        | N/A          |
 | optval          | char     | 50     | N        | N/A          |
 | userid          | int      | 4      | Y        | N/A          |
 | idx1            | index    | N/A    | N/A      | N            |
 +-----------------+----------+--------+----------+--------------+

the faq table

Database = bawt
Table    = faq

 +-----------------+----------+--------+----------+--------------+
 |     Field       |   Type   | Length | Not Null | Unique Index |
 +-----------------+----------+--------+----------+--------------+
 | faqid           | int      | 4      | Y        | N/A          |
 | faqname         | char     | 20     | Y        | N/A          |
 | userid          | int      | 4      | N        | N/A          |
 | ctime           | int      | 4      | N        | N/A          |
 | usecount        | int      | 4      | N        | N/A          |
 | body            | text     | 100    | Y        | N/A          |
 | idx1            | index    | N/A    | N/A      | N            |
 +-----------------+----------+--------+----------+--------------+

the log table


Database = bawt
Table    = log

 +-----------------+----------+--------+----------+--------------+
 |     Field       |   Type   | Length | Not Null | Unique Index |
 +-----------------+----------+--------+----------+--------------+
 | ldate           | date     | 4      | Y        | N/A          |
 | ltime           | time     | 4      | Y        | N/A          |
 | userid          | int      | 4      | N        | N/A          |
 | event           | char     | 75     | N        | N/A          |
 +-----------------+----------+--------+----------+--------------+

the config table


Database = bawt
Table    = config

 +-----------------+----------+--------+----------+--------------+
 |     Field       |   Type   | Length | Not Null | Unique Index |
 +-----------------+----------+--------+----------+--------------+
 | tag             | char     | 20     | Y        | N/A          |
 | confval         | char     | 50     | N        | N/A          |
 | mdate           | int      | 4      | N        | N/A          |
 | userid          | int      | 4      | N        | N/A          |
 | idx1            | index    | N/A    | N/A      | N            |
 +-----------------+----------+--------+----------+--------------+

Other Stuff

(no order whatsoever)
Back to the Bawt Page
Dan J. Fraser