CenterIM Scripting
$30-250 USD
Paid on delivery
CenterIM is a scriptable instant-messaging client for the linux command line.
Information about CenterIM you find here: http://www.centerim.org. How this application can be scripted you'll find on google (Exmaple to get you a feeling: [url removed, login to view] - but there are many more)
I'm looking for two kinds of services to be scripted:
- An instant-messaging echo service
- An instant-messaging query service
Protocols that those have to work with (centerim is capable of them):
- ICQ
- MSN
- Yahoo
They shall be started this way:
- ./im_echo_service [url removed, login to view] [url removed, login to view]
- ./im_query_service [url removed, login to view] [url removed, login to view] [url removed, login to view] [url removed, login to view]
The im_echo_service shall work this way:
All messages coming in are answered just the way they came in. Afterwards the message "pong" shall be send.
Example:
Remote client sends: ping
Echo service sends: ping
Echo service sends: pong
Another example:
Remote client sends: test
Echo service sends: test
Echo service sends: pong
[url removed, login to view] shall look this way:
<?xml version="1.0" encoding="UTF-8"?>
<account>
<id>SOME-DESCRIPTION</id>
<protocol>ICQ</protocol>
<username>ICQNUMBER</username>
<password>ICQPASSWORD</password>
<wait-for-reply>1</wait-for-reply>
</account>
Logfile shall log all incoming messages and their source:
YYYY-MM-DD HH:MM:SS <ACCOUNT-ID> <SOURCE-USERNAME> <MESSAGE>
That's it for this service. The other service is a bit more complex but not much. The [url removed, login to view] looks the same.
The [url removed, login to view] looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<tests>
<case>
<id>SOME-UNIQUE-ID-STRING</id>
<uid>REMOTE-USER-ID</uid>
<message>some text</message>
<reply>some text</message>
<pong>true</true>
</case>
<case>
<id>SOME-UNIQUE-ID-STRING-2</id>
<uid>REMOTE-USER-ID</uid>
<message>some text</message>
<reply>some ***</message>
<pong>true</true>
</case>
<case>
<id>SOME-UNIQUE-ID-STRING-3</id>
<uid>REMOTE-USER-ID</uid>
<message>some text</message>
<reply>false</message>
<pong>true</true>
</case>
<case>
<id>SOME-UNIQUE-ID-STRING-4</id>
<uid>REMOTE-USER-ID</uid>
<message>some text</message>
<reply>false</message>
<pong>false</true>
</case>
</tests>
If you can't connect to the IM service this is a "CONNECT-ERROR". Then you don't have to do any more checks and just write in the config file: YYYY-MM-DD <ACCOUNT-ID> CONNECT ERROR. In the [url removed, login to view] you write ERROR.
If it works, after connecting you send the messages in the test cases against the remote uid which is your counterpart chatpartner - the echo service. You check what is coming back from the echo service, compare it and write it in the logfile.
YYYY-MM-DD HH:MM:SS <ACCOUNT-ID> <CASE-ID> <REPLY> <REPLY-STATUS> <PONG-BOOL> <PONG-STATUS>
To the fields:
<ACCOUNT-ID> = id value from given [url removed, login to view]
<CASE-ID> = id from the current case in [url removed, login to view]
<REPLY> = reply you get from the echo service (!= pong), if you get none write FALSE.
<REPLY-STATUS> = If message matches the reply (string comparision) or you get no reply and reply was set to false in config write OK, else ERROR.
<PONG-BOOL> = TRUE if you got "pong" back, FALSE if not.
<PONG-STATUS> = if pong was set to true or false in the case config write OK or ERROR accordingly upon match.
Wait for the reply message or the pong for a certain amount of time. Take the time out of [url removed, login to view] : wait-for-reply. Value shall be in seconds.
If you write one single ERROR - write ERROR to [url removed, login to view] at the end of the run. Otherwise it's OK.
Please specify in your bid if you've already worked with centerim and if you have experience in scripting (bash/php/python) and in which language you want to code the check scripts.
As in all our biddings: Since we're an incorporated german company we require a valid invoice for your work which either includes your local tax payer id or a vat code if you are a company.
Thanks for reading :)
Best regards,
Sebastian
Project ID: #943600