[Twisted-Python] Writing a Jabber client
E.A.M.Huijbers at student.tue.nl
Mon May 24 19:04:40 EDT 2004
> darryl wrote:
>> E.A.M. Huijbers wrote:
>>> Hi all,
>>> I'm having trouble writing a Jabber client with Twisted. I came
>>> across a simple sample, and tried to build out from it, but for
>>> some reason it's barely working.
>>> When I run the application in the attached script, the logon goes
>>> fine, and I can receive messages sent to the account, but it never
>>> seems to receive subscription requests. When I ran it on an account
>>> that already had some items on the contact list, I did receive
>>> <presence> messages to indcate that a user changed status, but I
>>> don't receive <presence type="subscribe"> messages...
>> That sample code is mine. I never played with subscriptions really
>> but after trying it out right now it appears that it's not working :(
>> I don't know why yet, but i'll try and figure it out. We definately
>> can receive normal presence messages but don't seem to see
>> subscription requests....
>> Doesn't make sense at first blush.
> When in doubt read the protocol docs i guess:
> 7.3 Retrieving One's Roster on Login
> Upon connecting to the server and sending available presence, a
> client SHOULD request the roster before sending initial presence
> (however, because receiving the roster may not be desirable for all
> resources, e.g., a connection with limited bandwidth, the client's
> request for the roster is OPTIONAL). If an available resource does
> not request the roster during a session, the server MUST NOT send it
> presence subscriptions and associated roster updates. If an
> unavailable resource requests the roster, the server SHOULD return an
> <unexpected-request/> error to the resource.
> So from reading this it appears unless you request a roster push when
> you login you will not recieve subscription requests.
That seems doesn't seem quite logical -- since I'm writing a bot, I
don't want to see the roster myself, but I do want to grant subscription
But it does explain why things are happening the way they are -- thanks!
More information about the Twisted-Python