def createComaStatus(guild_id: int, user: User, hp_max: int):
     buff = Buff(BuffType.NONE, hp_max, -1)
     return RPGStatus.create(member_id=user.id,
                             guild_id=guild_id,
                             type=StatusType.COMA.value,
                             buff=buff,
                             expire_time=datetime.datetime.now() +
                             datetime.timedelta(seconds=10))
 def createOrUpdateAlertStatus(member_id: int, guild_id: int,
                               expire_seconds: int):
     buff = Buff(BuffType.NONE, 0, -1)
     query = RPGStatus.select().where(
         RPGStatus.member_id == member_id, RPGStatus.guild_id == guild_id,
         RPGStatus.type == StatusType.ALERTED.value)
     new_time = datetime.datetime.now() + datetime.timedelta(
         seconds=expire_seconds)
     if query.exists():
         status: RPGStatus = query.get()
         status.expire_time = new_time
         status.save()
     else:
         RPGStatus.create(member_id=member_id,
                          guild_id=guild_id,
                          type=StatusType.ALERTED.value,
                          buff=buff,
                          expire_time=new_time)
 def createRestStatus(member_id: int, guild_id: int, max_hp: int,
                      expire_seconds: int):
     buff = Buff(BuffType.NONE, max_hp, -1)
     return RPGStatus.create(member_id=member_id,
                             guild_id=guild_id,
                             type=StatusType.REST.value,
                             buff=buff,
                             expire_time=datetime.datetime.now() +
                             datetime.timedelta(seconds=expire_seconds))