name_check_clockwork.py 文件源码

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

项目:apex-sigma-core 作者: lu-ci 项目源码 文件源码
def name_checker(ev):
    while True:
        guild_ids = []
        guilds = []
        actives = await ev.db[ev.db.db_cfg.database].ServerSettings.find({'ASCIIOnlyNames': True}).to_list(None)
        for doc in actives:
            gid = doc['ServerID']
            guild_ids.append(gid)
        for guild_id in guild_ids:
            active_guild = discord.utils.find(lambda x: x.id == guild_id, ev.bot.guilds)
            if active_guild:
                guilds.append(active_guild)
        for guild in guilds:
            temp_name = await ev.db.get_guild_settings(guild.id, 'ASCIIOnlyTempName')
            if temp_name is None:
                temp_name = '<ChangeMyName>'
            members = guild.members
            for member in members:
                nam = member.display_name
                invalid = False
                for char in nam:
                    if char not in string.printable:
                        invalid = True
                        break
                if invalid:
                    try:
                        new_name = clean_name(nam, temp_name)
                        await member.edit(nick=new_name, reason='ASCII name enforcement.')
                    except discord.NotFound:
                        pass
                    except discord.Forbidden:
                        pass
        await asyncio.sleep(60)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号