from enum import IntEnum


class MessageType(IntEnum):
    UNKNOWN = 0
    TEXT = 1
    VOIP = 2
    CONTACT = 3
    LOCATION = 4
    BOT = 5
    OFFICAL = 6
    NOTI = 7
    RICH = 8
    NEW_RICH = 10
    IMAGE = 11
    AUDIO = 12
    RECORD = 13
    VIDEO = 14
    STICKER_OLD = 15
    FILE = 16
    TEAM_NOTE = 17
    STICKER_V3 = 18
    NOTE_COMMENT = 19
    VOIP_GROUP_CALL_SCREEN_SHARE = 21
    MERGE_FORWARD = 22
    BOT_LINK_IMAGE = 20
    BOT_BUTTONS = 23
    BOT_LIST = 24
    BOT_LINK_RICH = 25
    PROFILE = 26
    BOT_RICH = 27
    NOTE_WITH_MENTION = 28
    TEMPLATE = 29
    LINE_GROUP_AUTO = 30
    REPLY_RICH = 37
    REPLY_STICKER = 38
    VOICE = 39
    BOT_FILE = 44
    BOT_MENTION = 46
    BOT_LINK_MENTION = 47
    BOT_RICH_BUTTON_MENTION = 48
    EXTERNAL_TEMPLATE = 49
    PTTSTT = 50
    FOCUS_BOT_FLEX = 95
    BOT_FLEX = 96
    BOT_CAROUSEL = 97
    BOT_IMAGE_CAROUSEL = 98
    VOIP2 = 100
    SYS_JOIN = 101
    SYS_QUIT = 102
    SYS_TITLE_CHANGE = 103
    KICK_BOT = 104
    CHAT_ROOM_PICTURE_CHANGE = 105
    GROUP_TEAM_NOTE = 106
    OUT_BLOCK = 108
    SWITCH_GROUP_ROOM = 109
    SCREEN_SHARE_INVITE = 107
    SCREEN_SHARE_STOP = 107
    SYS_SCREEN_SHARE = 110
    TRANSLATE_SYSTEM = 111
    FOLDER_SET_SYSTEM = 112
    CALENDAR_USE = 113
    DRIVE_USE = 114
    HISTORY_MODE = 115
    SYS_BIG_ROOM_CHAT = 116
    LINE_GROUP_KICKED_USER = 117
    TRANSLATE_SYSTEM_V2 = 118
    TASK_SYSTEM = 119
    SYS_SETTING = 120

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