Help - Search - Members - Calendar
Full Version: 35,000+ in the contacts list
Skype Community > English > Development, Betas and Skype Garage > Skype Public API
nihad
Hello All,

We have a chat BOT that has over 35,000 contacts. We had to remove the entire contact list every time that it reaches 5000 contacts. At around 5000 contacts the Skype's API response times slows down considerably and eats up to 70% of the server CPU resources. I think this is caused by the Skype client updating the status of the 5000+ users in the BOT’s contact list. The Skype client is not used since everything runs from an API based code. Setting the client to silent through the API doesn't have an effect on the user status updates and CPU usage.

The ideal solution would be to expose the BOT's online status to everyone that adds it to their contact list without the BOT having to maintain other users online status. Any ideas?

Thanks

Nihad
spud5
QUOTE(nihad @ Fri Jun 1 2007, 00:08) [snapback]401475[/snapback]

Hello All,

We have a chat BOT that has over 35,000 contacts. We had to remove the entire contact list every time that it reaches 5000 contacts. At around 5000 contacts the Skype's API response times slows down considerably and eats up to 70% of the server CPU resources..

Some thoughts..

When you clear the bot's contact list does that cure the resource problem? If so, is there any need to add new contacts to the bot? Could it just authorize the request but not add the user as a contact?

If the user has been authorized, will they see the bot status? I added JiWire some time ago and I may have been removed from its contact list. I can still see JiWire online - it's currently in SkypeMe mode.

Certainly raise the issue on Jira. Someone may know a workaround, or the programmers might be able to solve the problem in a future version.
nihad
Thank you spud5.


I am the author of the JiWire BOT. Glad to hear that you are still seeing the status of the BOT since we had to remove the contacts again last night. Yes, once we remove the contacts and restart Skype, response times are restored and cpu peaks drop.

Maybe I am confused on how contacts work. Can we authorize a user without having to add them into the BOT's contact list? I thought upon authorization the contact is automatically added.

Thanks again,

Nihad
spud5
QUOTE(nihad @ Fri Jun 1 2007, 01:07) [snapback]401490[/snapback]

..Can we authorize a user without having to add them into the BOT's contact list? I thought upon authorization the contact is automatically added.

Thanks again,

Nihad

I'm not sure as I've never tried it. However, if the contact needs to be added in order for authorization to work, then you should be able to subsequently remove the contact without losing that authorization. There might be some clues in this thread.
nihad
QUOTE(spud5 @ Fri Jun 1 2007, 01:57) [snapback]401499[/snapback]

I'm not sure as I've never tried it. However, if the contact needs to be added in order for authorization to work, then you should be able to subsequently remove the contact without losing that authorization. There might be some clues in this thread.


Thank you spud5.

I think I didn't understand how the contacts authorization relationship works. Your idea did indeed work. With a quick test by removing the request for contact from the BOT side while keeping the authorize command in place -- it worked. The BOT doesn't have the contact on its list yet the contact can see the BOT status. Perfect! thank you.

One interesting draw back when you authorize and don't add the contact, the history tab on the BOT client side no longer is listed for the user that is not in the contact list; however, the chat is listed under Chats -> Recent Chats.
jbond
Very interested in solutions you find for this.

Could you refuse all contact requests so the contacts list never grows. Then do all authorisation in the bot code outside Skype?

Actually, is there a way of refusing all contacts requests?
nihad
QUOTE(jbond @ Mon Jun 4 2007, 08:29) [snapback]402450[/snapback]

Very interested in solutions you find for this.

Could you refuse all contact requests so the contacts list never grows. Then do all authorisation in the bot code outside Skype?

Actually, is there a way of refusing all contacts requests?



Yes, all you have to do is set every contact request to "SEEN" upon arrival and set authorization to "true". This will allow others to chat and see your current status without having any contacts added to your Skype client.

I'll be happy to help if you need help. Please allow me some time to respond since I am traveling through June 15th.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.