MinoMino / minqlbot

An administration tool for the Quake Live client, extensible with plugins.
GNU General Public License v3.0
26 stars 10 forks source link

Friendlist and friend communication support #15

Closed WalkerY closed 9 years ago

WalkerY commented 9 years ago
  1. ability to check which bot friends are online
  2. ability to send them messages
  3. ability to parse their messages

probably doable with extraql but would be much cleaner if builtin

could write plugin that for subscribed ppl could for example announce new matches (players .. waiting etc.) or similar.

invites don't work that well as they are not displayed in-game. Sometimes ppl want me to let them know when they could join.

MinoMino commented 9 years ago

Eh, well, the devs said they'll be looking into moving away from XMPP for friends stuff. In other words, if I were to implement it, it'd break as soon as the big update hits. It's another one of those things I'd rather not spend time and effort doing when we know it'll stop working in the near future. In this case, implementing all those wouldn't be all that easy either. I believe there's no other way around something like either hooking XMPP functions or reversing Awesomium stuff to run arbitrary JS code if I wanted to check which friends are online without using hook.js.

Since this is already doable with extraQL, I think you're better off using that instead. Now, if only 2 and 3 are fine, you could simply parse the "console" event for the formatting used when you receive friend messages, since I'm pretty sure no other console message uses the color formatting those messages do. If you wanted to reply to them, you can use \tell_buddy or \reply. Not an elegant way of doing it, but usable if you really don't want to use extraQL and don't mind not knowing who are online other than those who've come online post-injection.

MinoMino commented 9 years ago

Relevant quote from #quakelive:

May 08 17:40:45 <@sponge> miSc: friendslist stuff moves to steam w/ this update so all of those awful xmpp issues go away. server spawning will be more reliable too as it wont be based on xmpp either