# -*- coding: utf-8 -*- from irc3.plugins.command import command import irc3 import random import uuid ########################################################################################### ########################################################################################### @irc3.plugin class Plugin: ####################################################################################### ####################################################################################### def __init__(self,bot): self.bot=bot ####################################################################################### ####################################################################################### @irc3.event(irc3.rfc.JOIN) def quote_user_join(self, mask, channel, **kw): """quote a user when they join""" quote_list=self.bot.db.getlist("quotes") if not quote_list: quote_list=[] self.bot.db.setlist('quotes',[]) quote_user=[] for i in range(len(quote_list)): user=mask.nick.lower() if mask.nick==self.bot.nick: user=self.bot.original_nick.lower() if(quote_list[i]['user']==user): quote_user.append(quote_list[i]['message']) if quote_user: msg=random.choice(quote_user)+' \x02\x0303▶\x0F '+user msg=self.bot.emo(msg) print(f'\n{msg}\n') self.bot.privmsg(channel,msg) ####################################################################################### ####################################################################################### @command(permission='view') def quote(self,mask,target, args): """quote user message %%quote ... """ noise=' '.join(args['']) user=noise.split(' ')[0] noise=noise.split(' ')[1:] message=' '.join(noise) status='' try: quote_list=self.bot.db.getlist("quotes") if not quote_list: quote_list=[] self.bot.db.setlist("quotes",quote_list) quote_uuid=uuid.uuid4().hex quote={"user":user.lower(),"message":message,"uuid":quote_uuid} quote_list.append(quote) self.bot.db.setlist("quotes",quote_list) status=f"TCPDIRECT/QUOTED: {user} " status+=f"\x02\x0303▶\x0F {message} " status+=f"\x02\x0303▶\x0F {quote_uuid}" except Exception as e: status=f"\x02\x0304error \x02\x0303▶\x0F {e.message[0]['message']}'" msg=self.bot.emo(status) self.bot.privmsg(target,msg) ####################################################################################### ####################################################################################### @command(permission='view') def quotes(self, mask, target, args): """quotes user %%quotes """ user=args.get("") quote_list=self.bot.db.getlist("quotes") if not quote_list: quote_list=[] self.bot.db.setlist('quotes',[]) quote_user=[] for i in range(len(quote_list)): if(quote_list[i]['user']==user): quote_user.append(quote_list[i]['message']) for i in range(len(quote_user)): msg=user+' \x02\x0303▶\x0F '+quote_user[i] msg=self.bot.emo(msg) self.bot.privmsg(target,msg) ####################################################################################### ####################################################################################### ########################################################################################### ###########################################################################################