autoban.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:jarvis 作者: anqxyr 项目源码 文件源码
def autoban(inp, name, host):
    inp.user = 'OP Alert'
    if any(word in name.lower() for word in PROFANITY):
        kick_user(inp, name, lex.autoban.kick.name)
        ban_user(inp, host, 10)
        ban_user(inp, name, 900)
        return lex.autoban.name(user=name)

    banlist = BANS.get(inp.channel)
    if not banlist:
        return
    # find if the user is in the banlist
    bans = [
        b for b in banlist if name.lower() in b.names or
        any(pat(host) for pat in b.hosts)]
    for ban in bans:
        try:
            # check if the ban has expired
            if arrow.get(ban.status, ['M/D/YYYY', 'YYYY-MM-DD']) < arrow.now():
                continue
        except arrow.parser.ParserError:
            # if we can't parse the time, it's perma
            pass
        kick_user(inp, name, lex.autoban.kick.banlist(reason=ban.reason))
        ban_user(inp, host, 900)
        return lex.autoban.banlist(user=name, truename=ban.names[0])
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号