notnola / pinychat

Python module to interface with Tinychat.com
10 stars 1 forks source link

Can't get/set account names #20

Closed swiftSwathSee closed 8 years ago

swiftSwathSee commented 8 years ago

Tinychat's virtual gifts update a few months ago changed how account names are served. All account get/set requests are now blank (userinfo does nothing and signed-in sessions show up as signed-out in the Flash client).

This means anything that uses *.users.accountName is None. Among others, breaks /list and /userinfo.

TechWhizZ199 commented 8 years ago

User account information requests are now received by sending a new type of command message, that is the "account" message.

It is in the format: "account" as the main RTMP call and as a parameter the uid (userid) of the guest.

EDIT: On the contrary, I may be mistaken as the account information is now received in the "joins" packet. There is a parameter within that packet, named "account", that should provide that users account name, otherwise that parameter is empty.

nortxort commented 8 years ago

'join', 'joins' and 'registered' all holds account info. 'join' = when someone joins the room. 'joins' = all the users currently in the room. 'registered' = you own info.

TechWhizZ199 commented 8 years ago

Like nortxort said, there are various methods of logging the account names. They shouldn't take too much time to implement.

notnola commented 8 years ago

@swiftSwathSee I am going to assign you to this. However, if you are unable to properly implement this within a few days, I'll work on committing the changes; after all, I have been neglecting the project for quite a while now. :P

swiftSwathSee commented 8 years ago

@notnola I likely won't have this done within a few days.

notnola commented 8 years ago

Alrighty then. I am going to be busy with school work for the next few days. I'll be working on this Monday or so. Honestly, it shouldn't be a big deal - just a few small changes ought to do it.

swiftSwathSee commented 8 years ago

I see it in the AMF message but it's not appearing in a dump of the msg array. I'm probably missing something...

Like here nick aida is supposed to have account ccpd:

{'msg': 20, 'command': [u'onBWDone', 0, None, 0]}
{'msg': 20, 'command': [u'registered', 0, None, u'guest-107031', u'107031']}
{'msg': 20, 'command': [u'join', 0, None, u'107031', u'guest-107031']}
{'msg': 20, 'command': [u'joins', 0, None, u'#txt-tinychat^oddballz', u'107031', u'guest-107031', u'105504', u'miles2191', u'105855', u'jacek', u'106146', u'shipwrecked211', u'106218', u'aida', u'106461', u'lilythemunchkin9', u'106779', u'REIII', u'106845', u'-', u'106884', u'paranoidvoid', u'106893', u'guest-106893', u'106974', u'YUMIKO29638701792193292361824', u'107022', u'fkash']}
{'msg': 20, 'command': [u'joinsdone', 0, None, u'#txt-tinychat^oddballz']}
{'msg': 20, 'command': [u'oper', 0, None, 105504, u'miles2191']}
{'msg': 20, 'command': [u'oper', 0, None, 106218, u'aida']}
{'msg': 20, 'command': [u'oper', 0, None, 106779, u'REIII']}
{'msg': 20, 'command': [u'oper', 0, None, 106845, u'-']}
{'msg': 20, 'command': [u'avons', 0, None, None, u'105504', u'miles2191', u'105855', u'jacek', u'106146', u'shipwrecked211', u'106461', u'lilythemunchkin9', u'106779', u'REIII', u'106884', u'paranoidvoid', u'106845', u'-']}
{'msg': 20, 'command': [u'pros', 0, None]}
{'msg': 20, 'command': [u'topic', 0, None, u'']}
TechWhizZ199 commented 8 years ago

The joins AMF message seems to hold the information when we print it out or parse it. I think this is because of the way you have connected, the issue maybe in the connection sequence in rtmp_protocol.py. I did try it out myself and I cannot seem to pinpoint the issue in tinychat.py .You should try using pinylib to see what the packet should look like and see if you can recreate it. I'll have a look later as well.

GoelBiju commented 8 years ago

@swiftSwathSee , @notnola this was solved in pinylib, I am closing this as the repository has entered legacy status.