forked from sch/Slixfeed
54 lines
1.1 KiB
Python
54 lines
1.1 KiB
Python
|
#!/usr/bin/env python3
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
"""
|
||
|
|
||
|
TODO
|
||
|
|
||
|
1) remove_subscription (clean_roster)
|
||
|
Remove presence from contacts that don't share presence.
|
||
|
|
||
|
"""
|
||
|
|
||
|
import slixfeed.xmpp.utility as utility
|
||
|
|
||
|
async def add(self, jid):
|
||
|
"""
|
||
|
Add JID to roster.
|
||
|
|
||
|
Parameters
|
||
|
----------
|
||
|
jid : str
|
||
|
Jabber ID.
|
||
|
|
||
|
Returns
|
||
|
-------
|
||
|
None.
|
||
|
"""
|
||
|
if await utility.jid_type(self, jid) == "groupchat":
|
||
|
# Check whether JID is in bookmarks; otherwise, add it.
|
||
|
print(jid, "is muc")
|
||
|
return
|
||
|
else:
|
||
|
await self.get_roster()
|
||
|
# Check whether JID is in roster; otherwise, add it.
|
||
|
if jid not in self.client_roster.keys():
|
||
|
self.send_presence_subscription(
|
||
|
pto=jid,
|
||
|
ptype="subscribe",
|
||
|
pnick=self.nick
|
||
|
)
|
||
|
self.update_roster(
|
||
|
jid,
|
||
|
subscription="both"
|
||
|
)
|
||
|
|
||
|
|
||
|
def remove_subscription(self):
|
||
|
"""
|
||
|
Remove subscription from contacts that don't share their presence.
|
||
|
|
||
|
Returns
|
||
|
-------
|
||
|
None.
|
||
|
"""
|