from fw import log
from fw import core
from app.model.user import User,Users

async def on_event():
    log.d("start")
    try:
        #Discordサーバーを取得
        guild=core.get_guild()
        if guild == None:
            log.d("end no guild")
            return

        #Discordサーバーからメンバーを取得する
        guild_members = guild.members
        if guild.members is None:
            guild_members = []

        #DBから全てのユーザーを取得
        users=Users().get_all()
        if users is None:
            users = []

        #ユーザー一人一人を見てみる（for文）
        for user in users:
    
            #Discordサーバー上のメンバーを取得する
            en_member = None
            for member in guild_members:
                if str(member.id) == str(user.u_id):
                    en_member = member
                    break
            
            #メンバー取得が出来なかったら、DBからユーザーを論理削除する（if文）
            if en_member == None:
                log.i("del:" + str(user.id))
                Users().delete(user.id)

    except Exception as e:
        print(e)
        log.e(str(e))

    log.d("end")
    return
