-
MattJ
The Github folk have detached xsf/memberbot from Link Mauve's repo
-
jonas’
\o/
-
Link Mauve
Great, now I can delete my repo!
-
marc
Can somebody recommend a XMPP library for low level testing?
-
marc
preferably Python
-
marc
aioxmpp seems quite high-level
-
jonas’
marc, what kind of low-level testing?
-
marc
jonas’, sending packets (not IQ) before authentication
-
lovetox
you mean a xmpp lib you can hack to do that
-
lovetox
or one that provides a API for send_packet_before_auth()
-
pep.
or something with send_raw()
-
marc
lovetox, yeah, something like send_raw()
-
marc
especially I don't want to authenticate
-
pep.
There's probably an escape hatch like that on every library around, I'd hope
-
lovetox
you would still need a lib that lets you use this at that special moment
-
jonas’
marc, maybe look into how IBR is implemented in aioxmpp
-
pep.
Even if it encourages you not to use it
-
jonas’
https://github.com/horazont/aioxmpp/blob/devel/aioxmpp/ibr/service.py#L65 https://github.com/horazont/aioxmpp/blob/devel/examples/register.py#L34-L40
-
lovetox
oh thats a good idea
-
jonas’
aioxmpp.IQ isn’t special in that way, you can send any XSO really at that point
-
MattJ
lovetox: I've sent you a few messages over the past week, did you receive them?
-
jonas’
lovetox, while I’ve got you here, is there a way to turn off autojoining MUCs for (only) one account in gajim?
-
lovetox
not as setting no, you would have to add a line to the code
-
jonas’
:/
-
jonas’
I like how my pidgin doesn’t understand bookmarks ;D
-
lovetox
MattJ, yes received it i answerd you✎ -
lovetox
MattJ, yes received it i answerd you, just now ✏
-
MattJ
Ah, thanks!
-
lovetox
jonas’, why you need that?
-
jonas’
lovetox, I am used to poezio for MUCs, but I’d like to use something else for 1:1
-
pep.
jonas’, anything in particular that we could use as feedback for poezio?
-
jonas’
so I want gajim to *not* join all my MUCs; but only on that account, because my other accounts are (obviously) not in poezio, and I want to be able in those MUCs
-
jonas’
pep., no, that’s not going to be solvable
-
jonas’
it’s just me trying to keep the number of windows in poezio sane
-
lovetox
pep., dont steal my users
-
pep.
lovetox, you're stealing mine
-
lovetox
you had your chance
-
pep.
I'll get my revenge
-
jonas’
you’d co-exist, just like poezio and pidgin co-exist on my desktop now, so don’t fight please
-
jonas’
:)
-
pep.
:)
-
pep.
lovetox, I'll let you off for now
-
lovetox
:D
-
lovetox
jonas’, i can only offer you to point you to the line in the code where you could add the line that it skips one special account
-
jonas’
lovetox, I’m afraid dpkg won’t be happy about that in the long term
-
lovetox
marc, what do you understand under send_raw()
-
lovetox
you want to send bytes?
-
pep.
lovetox, iirc his XEP uses some before-bind-iq-like stuff
-
marc
lovetox, no, xml elements
-
pep.
like iq but not in jabber:foo
-
lovetox
yeah you can do that with nbxmpp, thanks to the hint form jonas’
-
lovetox
if you use nbxmpp in the REGISTER mode
-
lovetox
it will connect to the server and give you control before auth
-
marc
jonas’, mentioned aioxmpp, no?
-
lovetox
as there is no auth in register mode
-
lovetox
yeah im sure you can do the same with aioxmpp
-
lovetox
just wanted to tell you, that you also can do with nbxmpp
-
lovetox
but maybe try first with aioxmpp, its probably way better documented
-
marc
there are too many xmpp libraries for python :)
-
marc
jonas’, is there a way to send basic xml elements? something like Element(name = '', attrs = ...)
-
marc
I don't get the idea behind XSO :)
-
jonas’
marc, XSO is just a way to write down a skeleton for XML elements
-
jonas’
https://github.com/horazont/aioxmpp/blob/devel/aioxmpp/ping/xso.py#L31-L38 that’s an example which simply defines the XML element <ping xmlns="urn:xmpp:ping"/>; it doesn’t have text or children
-
jonas’
if you’ve ever used something like Storm or SQLAlchemy, the ideas behind XSO are very similar
-
marc
Okay, got it, thanks!
-
jonas’
marc, aioxmpp/version/xso.py would be the next-more-complex example of an XSO
-
marc
jonas’, there is no simpler way to generate xml elements, no?
-
jonas’
marc, it’s the simplest way ever
-
jonas’
;-)
-
jonas’
no, you need to go through XSO. the only other way is to write SAX events yourself.
-
jonas’
XSOs are directly converted to SAX events, there is no DOM constructed at any point
-
jonas’
(though if you’re into writing SAX events, you can do that, I suppose; you just need to go into the guts of the XMLStream itself)
-
lovetox
but actually jonas’ i have that ignore autojoin flag on my todo list
-
pep.
> where ``namespace_uri`` may be :data:`None`. Interesting that you're not enforcing namespaces in TAGs
-
jonas’
pep., it’ll fail during serialisation in most cases of an xml stream
-
jonas’
as soon as the default namespace has been declared, you can’t serialise elements without namespace URI anymore. which is right at the stream header in XMPP XML streams.
-
marc
jonas’, can I access xso attrs by simply using the XSO class member variables?
-
marc
I want to sent the attr but when I send the packet it hangs
-
marc
it works without attrs
-
marc
ah, and can I enable a traffic console that shows me the xml traffic sent / received?
-
marc
jonas’, ah, already found it!