Python扭曲IRC bot KeyE

2024-04-25 17:07:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让机器人上的反垃圾邮件工作,但我不断遇到以下错误时,有人垃圾邮件。你知道吗

Exception in thread Thread-249:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/ircbot/ftb/system/irc.py", line 455, in privmsg
    difference = msg_time - self.chanlist[channel][user]["last_time"]
KeyError: 'last_time'

这是反垃圾邮件的代码

if self.use_antispam:
            msg_time = float(time.time())
            if not ((authorized) or self.is_voice(user, channel)) and channel.startswith("#"):
                difference = msg_time - self.chanlist[channel][user]["last_time"]
                if difference < 0.15:
                    # User is a dirty spammer!
                    if self.is_op(channel, self.nickname):
                        if not user in self.kicked:
                            self.sendLine("KICK %s %s :%s is a dirty spammer!" % (channel, user, user))
                            self.logs.warn("Kicked %s from %s for spamming." % (user, channel))
                            self.kicked.append(user)
                            return

                        else:
                            self.sendLine(
                                "MODE %s +bbb *!%s@* %s!*@* *!*@%s" % (
                                    channel, userhost.split("@")[0].split("!")[1], user, userhost.split("@")[1]))
                            self.sendLine("KICK %s %s :%s is a dirty spammer!" % (channel, user, user))
                            self.logs.warn(" Banned %s from %s for spamming." % (user, channel))
                            return

感谢您的帮助


Tags: inpyselfiftimeislinechannel