def update_on_priv_msg(self, data, connection: Connection): msg = data["message"] nick = data["nick"] if not msg.startswith(".me") and not msg.startswith(".me-"): return if not self.authenticated(nick, connection): connection.send_back( "Für die Nutzung von .me ist es zwingend erforderlich, einen registrierten Nick zu " "haben sowie eingeloggt zu sein. Wie dies geht, erfährst du unter " "https://autistenchat.org/#clients", data) return intro_provider = IntroductionProvider() msg = msg.split('.me')[1].strip() if len(msg) == 0: intro = intro_provider.get_intro(nick) text = "" if intro is not None: text = nick + " ist " + intro[1] else: text = nick + " für dich gibt es noch keinen Eintrag, vielleicht magst du ja mittels .me <intro> noch " \ "einen hinzufügen? " connection.send_back(text, data) elif len(msg) == 1 and '-' in msg: intro_provider.delete_intro(nick) connection.send_back(nick + " dein Intro wurde gelöscht!", data) else: intro = msg.strip() intro_provider.save_or_replace(nick, intro) connection.send_back( nick + ": Dein Intro wurde gespeichert! Mittels .me- kannst du deinen Eintrag wieder löschen.", data) text = nick + " ist " + intro_provider.get_intro(nick)[1] connection.send_back(text, data)
def update_on_priv_msg(self, data: dict, connection: Connection): if data['message'].find('.test') == -1: return cartoonnumber = str(random.randint(1, 3164)) connection.send_back( '\001ACTION zeigt ' + data['nick'] + ' Bilder von Ameisen: https://www.google.de/search?q=ameisen&tbm=isch .\001', data)
def update_on_priv_msg(self, data: dict, connection: Connection): if data['message'].find('.duckstats') == -1: return connection.send_channel(data['nick'] + " hat schon " + str(self.ducks_befriend[data['nick']]) + " befreundete Enten und " + str(self.ducks_hunt[data['nick']]) + " getötete Enten.")
def update_on_notice(self, data, connection: Connection): # b':NickServ!NickServ@services. NOTICE FaustBotDev :corvidae ACC 3 \r\n' if not data['nick'].lower() == 'nickserv': return with connection.condition_lock: if re.match(r'.*? ACC [0-3].*', data['message']): msg_parts = data['message'].split(' ') if msg_parts[2] == '3': connection.idented_look_up[msg_parts[0]] = True else: connection.idented_look_up[msg_parts[0]] = False connection.condition_lock.notify_all()
def update_on_priv_msg(self, data, connection: Connection): msg = data["message"] nick = data["nick"] if not msg.startswith(".me") and not msg.startswith(".me-"): return if not self.authenticated(nick, connection): # print('no auth') return intro_provider = IntroductionProvider() msg = msg.split('.me')[1].strip() if len(msg) == 0: intro = intro_provider.get_intro(nick) text = "" if intro is not None: text = nick + " ist " + intro[1] else: text = nick + "für dich gibt es noch keinen Eintrag, vielleicht magst du ja mittels .me <intro> noch " \ "einen hinzufügen? " connection.send_back(text, data) elif len(msg) == 1 and '-' in msg: intro_provider.delete_intro(nick) connection.send_back(nick + " dein Intro wurde gelöscht!", data) else: intro = msg.strip() intro_provider.save_or_replace(nick, intro) connection.send_back( nick + ": Dein Intro wurde gespeichert! Mittels .me- kannst du deinen Eintrag wieder löschen.", data) text = nick + " ist " + intro_provider.get_intro(nick)[1] connection.send_back(text, data)
def update_on_priv_msg(self, data, connection: Connection): msg = data["message"] if not msg.startswith(".help"): return if data["channel"] == connection.details.get_channel(): all_cmd = [] for observer in connection.priv_msg_observable.get_observer(): cmds = observer.cmd() if cmds is not None: all_cmd.extend(cmds) msg = ", ".join(all_cmd) msg = "Bekannte Befehle: " + msg + ". Für Details per Query .help ." connection.send_back(msg, data) else: all_help = [ m.help() for m in connection.priv_msg_observable.get_observer() ] for help_msg in all_help: if help_msg is not None: connection.send_back(help_msg, data)
def update_on_priv_msg(self, data: dict, connection: Connection): if data['message'].find('.hug') == -1: return connection.send_back('\001ACTION knuddelt ' + data['nick'] + '.\001', data)
def update_on_priv_msg(self, data: dict, connection: Connection): if data['message'].find('.peace') == -1: return connection.send_back('\001ACTION hüpft durch den Raum, schmeißt Blumen um sich und singt: \"Love and ' 'Peace, wir haben uns alle lieb..!\".\001', data)
def authenticated(self, nick: str, connection: Connection): return nick in self.userList.userList and \ connection.is_idented(nick)
def update_on_priv_msg(self, data: dict, connection: Connection): if data['message'].find('.cookie') == -1: return connection.send_back( '\001ACTION schenkt ' + data['nick'] + ' ' + random.choice(kekse) + '.\001', data)
def update_on_priv_msg(self, data: dict, connection: Connection): if data['message'].find('.ruthe') == -1: return cartoonnumber = str(random.randint(1, 3164)) connection.send_back('\001ACTION liefert ' + data['nick'] + ' einen Ruthe-Cartoon: http://ruthe.de/cartoon/' + cartoonnumber + '/ .\001', data)
def update_on_priv_msg(self, data: dict, connection: Connection): if data['message'].find('.cookie') == -1: return connection.send_back('\001ACTION schenkt ' + data['nick'] + ' '+random.choice(kekse)+'.\001', data)
def update_on_ping(self, data, connection: Connection): if self.pings_seen % 90 == 0: # 90 * 2 min = 3 Stunden connection.raw_send('WHO ' + connection.details.get_channel()) self.pings_seen += 1
def update_on_ping(self, data, connection: Connection): if self.pings_seen % 90 == 0: # 90 * 2 min = 3 Stunden connection.raw_send('NAMES ' + connection.details.get_channel()) self.pings_seen += 1