mirror of https://xfnw.ttm.sh/git/oirc.git
find alts command
This commit is contained in:
parent
41d494ab50
commit
295e760cb7
|
@ -16,9 +16,35 @@ async def on_all(self,wtime=100):
|
||||||
self.userdb.insert_ignore(dict(user),['id'])
|
self.userdb.insert_ignore(dict(user),['id'])
|
||||||
print('done')
|
print('done')
|
||||||
|
|
||||||
|
async def findalt(self,c,n,m):
|
||||||
|
m = m.strip()
|
||||||
|
user = self.userdb.find_one(nickname={'like':m},order_by='-id')
|
||||||
|
if user == None:
|
||||||
|
await self.message(c,'[\x036usrinfo\x0f] I could not find that user :(')
|
||||||
|
# check if identd
|
||||||
|
if user['username'][0] == '~':
|
||||||
|
# not identd
|
||||||
|
alts = [i['nickname'] for i in self.userdb.find(hostname=user['hostname'])]
|
||||||
|
else:
|
||||||
|
alts = [i['nickname'] for i in self.userdb.find(username=user['username'])]
|
||||||
|
if len(alts) < 2:
|
||||||
|
await self.message(c,'[\x036usrinfo\x0f] I could not find any alts :(')
|
||||||
|
return
|
||||||
|
falt=' '.join([i[:1]+'\u200c'+i[1:] for i in sorted(list(set(alts)))])
|
||||||
|
if len(falt) > 200:
|
||||||
|
if c in self.more:
|
||||||
|
self.more[c].append(falt[400:])
|
||||||
|
else:
|
||||||
|
self.more[c] = [falt[400:]]
|
||||||
|
falt = falt[:400]+' (more)'
|
||||||
|
await self.message(c,'[\x036usrinfo\x0f] alts: {}'.format(falt))
|
||||||
|
|
||||||
async def init(self):
|
async def init(self):
|
||||||
self.userdb = self.db['user']
|
self.userdb = self.db['user']
|
||||||
|
|
||||||
if not self.userdb.find_one(sync='yes'):
|
if not self.userdb.find_one(sync='yes'):
|
||||||
self.userdb.insert(dict(sync='yes'))
|
self.userdb.insert(dict(sync='yes'))
|
||||||
asyncio.get_event_loop().create_task(on_all(self))
|
asyncio.get_event_loop().create_task(on_all(self))
|
||||||
|
|
||||||
|
self.help['findalt'] = ['findalt <nick> - find out who someone\'s alts are',';p']
|
||||||
|
self.cmd['findalt'] = findalt
|
||||||
|
|
Loading…
Reference in New Issue