コード例 #1
0
ファイル: telegram_bot.py プロジェクト: jmcomets/irc-bots
 def guess_username(self, username):
     username = username.lower()
     candidates = set(get_registered_nicknames())
     if username in candidates:
         return username
     matches = get_close_matches(username, candidates, 1)
     try:
         return matches[0]
     except IndexError:
         return None
コード例 #2
0
ファイル: telegram_bot.py プロジェクト: jmcomets/irc-bots
 def imitate_command(self, username, message):
     candidates = set(get_registered_nicknames())
     args = message.strip().split()
     if len(args) < 2:
         self.send_message_to_user(username, "You could at least tell me WHO you want to imitate!")
         return
     tried_username = "******".join(args[1:])
     user_to_imitate = self.guess_username(tried_username)
     if user_to_imitate is None:
         user_list = "\n".join(map(lambda k: "- {}".format(k), candidates))
         self.send_message_to_user(
             username,
             "Either you're drunk, dumb or "
             "an asshole, but {} ain't in "
             "my book. Here's those I know "
             "so far:\n{}".format(tried_username, user_list),
         )
         return
     self.imitate_nick(username, user_to_imitate)