from enum import IntEnum


class NotificationType(IntEnum):
    NORMAL = 101
    AWAY = 102
    LEAVE = 202
    INVITE = 203
    KICK = 204

    # 通知メッセージタイプ
    NOTIFICATION_UNKNOWN = 0
    NOTIFICATION_MESSAGE = 1
    NOTIFICATION_CONTACT = 3
    NOTIFICATION_LOCATION = 4
    NOTIFICATION_BOT = 5
    NOTIFICATION_OFFICIAL = 6
    NOTIFICATION_CHANNELNOTI = 7
    NOTIFICATION_RICH = 8
    NOTIFICATION_NEW_RICH = 10
    NOTIFICATION_IMAGE = 11
    NOTIFICATION_AUDIO = 12
    NOTIFICATION_RECORD = 13
    NOTIFICATION_VIDEO = 14
    NOTIFICATION_STICKER_OLD = 15
    NOTIFICATION_STICKER_V3 = 18
    NOTIFICATION_FILE = 16
    NOTIFICATION_LOCATION_EMOJI = 27
    NOTIFICATION_CALL = 31
    NOTIFICATION_VCALL = 32
    NOTIFICATION_INVITE_DSSHARE = 34
    NOTIFICATION_STOP_DSSHARE = 35
    NOTIFICATION_CANCEL_CALL = 33
    NOTIFICATION_NEW_MAIL = 40
    NOTIFICATION_BADGE = 41
    NOTIFICATION_CAL_SCHD_REMIND = 50
    NOTIFICATION_CAL_TASK_REMIND = 51
    NOTIFICATION_CAL_APPO_INVITE = 52
    NOTIFICATION_CAL_APPO_UPDATE = 53
    NOTIFICATION_CAL_APPO_CANCEL = 54
    NOTIFICATION_API_EXEC_COMMAND = 61
    NOTIFICATION_SERVICE = 100

    # NOTE: 現在V3が使われているようなので、18をNOTIFICATION_STICKERとして定義
    NOTIFICATION_STICKER = NOTIFICATION_STICKER_V3
