Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
 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.")
Пример #4
0
 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()
Пример #5
0
 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)
Пример #6
0
    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)
Пример #7
0
 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)
Пример #8
0
 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)
Пример #9
0
 def authenticated(self, nick: str, connection: Connection):
     return nick in self.userList.userList and \
            connection.is_idented(nick)
Пример #10
0
 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)
Пример #11
0
 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)
Пример #12
0
 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)
Пример #13
0
 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)
Пример #14
0
 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
Пример #15
0
 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)
Пример #16
0
 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