Abugida

From Botdom Wiki
Jump to: navigation, search
  • Latest stable release: None
  • Latest preview release: 0.1.1

Codename Abugida is a global bot mail system by Electricnet and Photofroggy. The development of this project started in mid November, 2006, after dANote 1.9 was completed, although work on the server communications only commenced in December. The mails are stored the botdom.com web server database, and mails are sent and received by connecting to the server.

Status and Basic Information

Abugida is currently in version 0.1.1 alpha! It has all the usual functionality of dANote apart from alternate logins and it does not send notes through deviantART. New commands and functions are being developed in order to send mail through a server hosted by Electricnet via chat room bots. In its current state, the module uses cURL to send packets. The module can send a packet to a server, and read a packet that is returned to the bot and check if there was an error, and what the error was. This, and more, has been accomplished so far.

To do

What still has to be done for the client and server.

  • Inbox and outbox command for the client and server.
  • Command to get mail to the client.
  • Encrypt mail commands.
  • Downloader to get mail. (Still need one to get unread mail only)
  • Security issues need solving.
  • Create documentation.
  • Use a more widely supported connection system than cURL.
  • Command to delete mail from the inbox.

API

The server script has an API that's a bit like a packet system.

Client commands (client->server)

This is a list of commands that go from the client to the server. All packets should be sent urlencode()'d.

send

You use this command to send mail.

send mail
to=username
from=username
bot=botusername
agent=agent
mcryptkey=mcryptkey
subject=subject

content

The variables at the top can go in any order. agent is the User Agent parameter that the bot software normally sends to dAmn during handshake. mcryptkey is the special password you can set if you want the message to be encrypted. The receiver needs to know this password before they can open the mail.

recv

You use the following command to get information from your inbox.

recv inbox
for=username

This command returns what is in username's inbox, who sent it and when.

The following command is used to get information from your outbox.

recv outbox
for=username

This shows the mail in username's outbox, who they sent it too, and when.

You should send the following packet to receive the actual mail message specified.

recv mail
id=unique id
for=username

This command returns the mail message sent to username with the specified id.

del

The following command is used to delete mail in your inbox.

del mail
id=unique id
for=username

This will delete the mail in the inbox of the specified user.

Developers

These are the people currently working on Abugida:

  • Electricnet - Setting up the server and the communication system.
  • photofroggy - Managing arrays and communication on the client side.

Clients

Because each bot available is not compatible with each other, different bots have to use different clients to use abugida. At the moment abugida is only being developed on Futurism so the only client available is Tarmail, although others will be available when they are ported to other bots. This page shows the different clients, the different versions of the clients and what versions of abugida that they use are.

Tarmail

  • Tarmail 0.1.1 - Abugida 0.1.1 alpha - Has all current commands and as far as we can tell it is stable. Tarmail is the client as a module for Futurism.

Client Commands

There are several commands for the abugida clients, each with their own sub commands. These commands allow users to interact with the server and other bots using a compatible client. Below are the details on the commands for the clients.

!mail

  • !mail write [recipient] [subject] [body] - This creates a new mail. Where [subject] is, you can put a one word subject, which can be edited later to have more words in. Where [recipient] is, you can put one username, this is the user that will receive the mail, more recipients can be added later. Where [body] is, you write the actual mail, you can use as many words as you want in this part. When you create a new mail your mail will be given an ID number, usually just a single or double digit number. You need to use this to edit parts of your mail and to send it.
  • !mail edit [ID] subject [new subject] - Replace [ID] with the ID of a mail, and where [new subject] is, you can write a new subject. This command changes the subject of the specified mail, you can use as many words as you like, but remember, the old subject will be deleted and replaced by the new one!
  • !mail edit [ID] sender [new sender] - Only admins can use this command. Replace [ID] with the ID of a mail and replace [new sender] with another username. This will send the mail on behalf of the specified user instead of the person who actually wrote it.
  • !mail add [ID] recipients [user1[, user2[, etc.]]] - Replace [ID] with the ID of a mail. This commands adds recipients to the mail, so that more than one person will receive the mail, each username must be separated with a comma and a space, eg. "photofroggy, pfbot".
  • !mail list - Lists all of the mails that are currently stored on the bot. mails are deleted after they are sent.
  • !mail read [ID] - Replace [ID] with the ID of a mail. This commands displays the contents of a specified mail.
  • !mail delete all - Only admins can use this command. This command deletes all of the mails that are currently stored on the bot. Data cannot be retrieved once this command has been used.
  • !mail delete [ID] - Replace [ID] with the ID of a mail. This command deletes only the specified mail.
  • !mail send [ID] - Replace [ID] with the ID of a mail. This command sends the specified mail. The mail will be sent to the Botdom.com server and a message displayed in the chatroom. If the mail is sent successfully, the mail is deleted, however, if the login fails then the bot will say that there was a problem sending the mail, and the mail will not be deleted.
  • !mail history - This will show the Abugida message history for the bot in question. It will only display the information that is currently stored on local files. The history can easily be cleared.
  • !mail history delete [all/sent/downloaded] [(yes)/all/ID] (yes) - This commands deletes all or part of the Abugida message history with the syntax shown.

!inbox

  • !inbox (list) - This command will show all the mail in your inbox on the botdom.com server! It will also give you an ID to refer to each mail message by. This will work whether or not "list" is actually typed.
  • !inbox read [ID] - Shows a mail message. This command requests all full data for the specified message and then displays the message in a chatroom. You can only read your own mail messages.
  • !inbox delete [ID] - This command will delete the specified mail message from your inbox on the Botdom.com server.

!outbox

  • !outbox (list) - This command will show all the mail in your outbox on the botdom.com server! It will also give you an ID to refer to each mail message by. This will work whether or not "list" is actually typed.

Changelog

0.1.1 alpha

(26th February 2007)

  • Recipient array for mail restructured. This makes it easier for the client to send one message to multiple recipients.
  • Other commands adapted to match the new array structure.

0.1 alpha

(17th December 2006)

  • The client can now access mail and read it.
  • More error packets have been added.
  • The client can now delete mail that is on the server!

0.0.5 pre-alpha

(17th December 2006)

  • More packets have been added to the server.
  • Inbox and Outbox commands have been started, not completely done. Outbox now also uses the server to get its information.
  • Error handling script improved in the main script.

0.0.4 pre-alpha

(16th December 2006)

  • More stuff has been done on the server, so that the server now saves the mail into a table.
  • Server now returns the unique ID for each mail.
  • Error handling has been tweaked and the packet "success" has been made.
  • About packet added for the server, returns the server name and the version.

0.0.3 pre-alpha

(15th December 2006)

  • Outbox command has been near enough finished and some modifications have been made to the main script.
  • Timestamps added to the mail and neatened up the main script.

0.0.2 pre-alpha

(14th December 2006)

  • Sending mail has been implemented into the main script, now loading and sending packets successfully.
  • Error handling has been completed for the sending of mail.

0.0.1 pre-alpha

(13th December 2006)

  • Contains basic array functionality and the ability to send a basic packet.

Credits

Thanks to the following people for their help with the development of Abugida:



Electricnet.gif
Projects by Electricnet
Futurism · Abugida


Photofroggy helps with
Abugida · Amphino · Calf · Contra · dANote · Frogmod · KickWars · KickWars Classic · Maltriv