PDA

View Full Version : HowTo: New offline messaging feature, !msg.


TiCpu
8 May 2006, 05:58
It has been a enough time since the last howto for a command so here it is, Offline messages!

I added this feature 2 days from now and it will be improved in the future and take in account the Clan and Groups (nick grouping) I will add later so sending a message to someone will send it to all its nicks for example if I owned TiCPU TiCPU_ TiWorm and TiSnoop, sending to TiCPU and me connecting as TiWorm would still notice me of the message but anyway you can't send messages to me ;) (If you want just /msg ticpu and I will read it)

So for now I added the following subcommands to !msg; list, read, send, pending, delete.


Here follows a short usage:
Format: !command subcommand <argument> [optionnal argument]
All commands can and should be sent in private using /msg ticpu !command

!msg list -- List all the messages in your 'inbox'.
!msg pending [all] -- Lists unread outgoing messages, if you add 'all' it will also list messages already read by recipient.
!msg read [[#]x] -- !msg read alone will read the oldest unread message, if you add a number you got from !msg list or !msg pending it will read that specific message.
!msg delete <#|all> -- Deletes the message # you specify or 'all' messages appearing in your inbox. You can also delete messages from your outbox.
!msg send <nick> <message> -- Sends a message to the nick's inbox and will notify him up to 3 times when he/she joins any channels.


Here is an example session:

TiGPU -> #AnythingGoes: !msg send wormer101 testing 1 2 3
TiCPU -> TiGPU: Message #97 queued for Wormer101.

TiGPU -> #AnythingGoes: !msg pending
TiCPU -> TiGPU: Outbox: Wormer101(#97)* Black-Rod(#88) TiGPU(#83) M3ntalSfX(#70)
Here we notice TiGPU has sent 4 messages and 3 of them were already read, those still unread by recipient have a star* marking them.

***Wormer101 joins #AnythingGoes.
TiCPU -> Wormer101: You have 1 message pending, use '!msg list' to see its number or just '!msg read #97' to read it.
When a user only has one message, it gives out the message number.

Wormer101 -> TiCPU: !msg list
TiCPU -> Wormer101: Inbox: TiGPU(#97)*
Here we can notice the message has a * which means unread.

Wormer101 -> TiCPU: !msg read
Wormer101 preferred !msg read to !msg read 97 to read last unread message.

TiCPU -> Wormer101: Message #97 from TiGPU to Wormer101 at Mon May 08 00:37:48 EDT 2006 ( 7 minutes 28 seconds ago ):
TiCPU -> Wormer101: testing 1 2 3

Wormer101 -> TiCPU: !msg delete all
TiCPU -> Wormer101: All messages deleted.

TiGPU -> #AnythingGoes: !msg delete all
TiCPU -> TiGPU: All messages deleted.

TiGPU -> #AnythingGoes: !msg delete #70
TiCPU -> TiGPU: Message #70 deleted.

TiGPU -> #AnythingGoes: !msg pending all
We see TiGPU still prefer sending to the channel instead of sending to me even if it is not preferable...

TiCPU -> TiGPU: Outbox: Black-Rod(#88)
And finally because TiGPU and Wormer101 deleted all their messages from their inbox, and TiGPU deleted message #70 from his outbox and M3ntalSfx's inbox they also disapeared from the pending list.


I hope that may help a little in using the offline messaging system :)
As always, comments are appreciated.

Oh yea, a fast comment, !help also has been added so you can have online help, using !help msg send will give you help on the msg send command.
[edit#2] Fixed some typos. [/edit#2]

KRD
9 May 2006, 22:00
Good going, Tic. Works like a charm!

Eventhough you've written it yourself, I just think it's important enough to emphase it: Everyone should use these commands after double clicking TiCPU's nickname in the channel [or writing "/msg TiCPU" before the command] so that all commands and their responses are done by whispers, thus eliminating all unnecessary channel flooding. Thank ye.

yakuza
16 May 2006, 11:26
Hm, you could add !random or !quote [nickame] wich would display a random something that nickname said. Would be good for comedy value.

StaTich
18 May 2006, 16:01
Very nice thing you done TiCPU, thanks for helping the community.

TiCpu
20 May 2006, 08:11
Hm, you could add !random or !quote [nickame] wich would display a random something that nickname said. Would be good for comedy value.

Well, the thing is, I do not log the text said in channel but only the last message, and that still brings the database to 7mb, so I wouldn't immagine logging everything :)

Etho
20 May 2006, 16:11
I like your system TiCpu. :) Would you mind if I copied it and made a similiar system for wwp?

TiCpu
20 May 2006, 23:44
I'd like to bring it to WWP but did not know the server address (nor password anyway) cause I do not own this game :(

If people would like me to get there, no problem, just send me the informations in private message and I'll bring myself there too :) That is if it was what you wanted.

On another point, I wonder if it is possible to change nick capitalization in the forum, as I change some months ago (my nick I have for now years and years) and found it was representing better what it meant with TiCPU hehe.

CyberShadow
21 May 2006, 10:08
If people would like me to get there, no problem, just send me the informations in private message and I'll bring myself there too :) That is if it was what you wanted.

The authentication procedure to a WormNET 2 server is much more complicated. Upon login, the server sends an AUTHPING message with a hash. The client must then send a request to an ASP page on the HTTP server, receive another hash and reply with it in an AUTHPONG message.
If you are able and willing to go to such lengths as implementing this procedure in your IRC client, I might be able to gather detailed info.

On another point, I wonder if it is possible to change nick capitalization in the forum, as I change some months ago (my nick I have for now years and years) and found it was representing better what it meant with TiCPU hehe.

I don't think that's possible without the intervention of a forum administrator, as it might involve directly editing the forum database.

TiCpu
21 May 2006, 11:09
Nice, thanks for the fast answer, I'll try to get a copy from my friend who do not play anymore anyway and see how is the protocol working (good ol' sniffing), and I might be able to connect there and share the database so people can search both WA and WWP people from both networks. I'll see that in about a week.

That makes me remember, in the ASP page received on Worms Armageddon there were a password and username field, I always wondered what they were used for, now that you say IRC and ASP server finally have a link, maybe they will get used this time hehe. As for my forum nick, well, better keeping it that way than going thru all the trouble it might cause changing it ;)

Distrance
22 May 2006, 10:01
Aww,this is so cool command,just tried it out. Do you work to team17 or sumthin?

evilworm2
22 May 2006, 21:09
Do you work to team17 or sumthin?

Not yet. ;)

Distrance
25 May 2006, 14:53
Wh said im talking to you

TiCpu
25 May 2006, 22:25
Wh said im talking to you

Well if I had any objection I would have answered, evilworm2 being right, I simply did not make any new reply. This is a forum, everyone has the right to speak anyway.

evilworm2
26 May 2006, 15:16
I am making a fancy gui, btw.

EDIT:
Alright, a first version is ready to be tested by you.
Since it is still beta (let`s say alpha) i only distribute it as a *.jar file (sources included).
You need a JRE (http://www.java.com/en/download/manual.jsp) to execute this.

If all are satisfied i will make an *.exe for easier distribution.

pm me for a download link.

Current features:
- platform independent
- write and fetch messages without having W:A installed
- buddylist
- only 76kB in size!

TiCpu
26 May 2006, 20:54
Maybe you'd like access directly to the database ^_^"

As on my side I was about to do the message tab in my web seen but was waiting for nick groupping to be complete so people can have messages sent to their group instead of one (or each) of their specific nicks hehe.

[big edit]
While I'm adding a new message, I should also specify I added an argument to !seen, see !help seen or just try by yourself: !seen * act
If you add 'act' to the end of seen it will sort by activity level, which is calculated by joining, parting, quitting, saying something does +1 to it, and has be calculated for 2 months now.

I will also ask if anyone knows what exactly triggers the bug when you use many color codes in a line of text it sometimes does not wrap, any ideas?
[end of the big edit]

[UFP]Ghost
26 May 2006, 20:55
I am making a fancy gui, btw.
cool, looks good.

evilworm2
26 May 2006, 22:36
Maybe you'd like access directly to the database ^_^"

thank you, but since i want to improve my knowledge about protocols and stuff, it is good for me not to have access to the database. i love to reverse-engineer and ethereal is a good friend of mine. ;)

best wishes

Evil Bunny
27 May 2006, 15:18
how about some wnet statistics ticpu? A place to see activity of the channels, how many people play, which are the most active times etc. Maybe even activity of clans?

TiCpu
30 May 2006, 08:21
how about some wnet statistics ticpu? A place to see activity of the channels, how many people play, which are the most active times etc. Maybe even activity of clans?

Well, that may come up in a tabs of its own on http://ticpu.net:8080/seen/dev later but for now, the next update will be focused on nick Groups and Clans.

Be aware the /dev version may be broken any time, the tabs will not work until they actually works and that it will be much slower because of the non optimized code.

Meanwhile, I though a little update related to the last one I made would be nice, I added new sort parameters to the ![r]seen commands:
!seen <nick> [date|act|nick]
using date, you would except the default behaviour but I though adding a minimal date format would be clever when you search, an example output it:
!seen GAT*
[TiCPU] >23 matches: 11m GATxvicious 26m GATxResX 31m GATxSUSHi 38m GATxTuRnBoMb 43m GATxJim 4h GATxThePlaya 7h GATxFraggle 7h GATxDUDExTm 8h GATxZepher 8h GATxJonnyw2k 9h GATxBoggyPants 10h GATxRainQ 11h GATxraffie 12h GATxRedneck 12h GATxEssay 1d gatrient 2d GATxMiika 2d GATllDesmond 2d GATxUBP 2d GATxCaptBagz 3d GATlresxl 3d GATxSpasticRat ...


Small dates format appears as follow:
Year, yr
Month, mo
Week, w
Day, d
Hour, h
Minute, m
Second, s

I also added Nick to sort alphabetically, but is not as useful as it may appear, because if there are too many nicks it will only list from Z to H for example.