Module socialization.bot.message

Expand source code
from enum import Enum
from .. import codes

class MessageType(Enum):
    """
    This is enumeration of message types.
    """
    TEXT = 1
    IMAGE = 2
    FILE = 3
    
class Message():
    def __init__(self, type:MessageType, body=None, channel:str='', to:list=[], sender:str='', recipient_count:int=0,
                 id:str='', origin:str='Bot', raw=None) -> None:
        self.type = type
        self.body = body
        self.channel = channel
        self.to = to
        self.sender = sender
        self.recipient_count = recipient_count
        self.id = id
        self.origin = origin
        self.raw = raw

def message_from_raw(raw_data:dict) -> Message:
    code = raw_data['code']
    if code < codes.MESSAGE_DOWN_TEXT or code > codes.MESSAGE_DOWN_FILE:
        raise Exception('Analysed raw message unsupported: {}'.format(raw_data))
    
    type = None
    if code == codes.MESSAGE_DOWN_TEXT:
        type = MessageType.TEXT
    elif code == codes.MESSAGE_DOWN_IMAGE:
        type = MessageType.IMAGE
    else:
        type = MessageType.FILE

    ret = Message(type=type, body=raw_data['extra']['msg_body'], channel=raw_data['extra']['channel_id'],
                    sender=raw_data['extra']['from_user_id'], recipient_count=raw_data['extra']['n_recipients'],
                    id=raw_data['extra']['msg_id'], origin=raw_data['extra']['origin'], raw=raw_data)

    return ret

Functions

def message_from_raw(raw_data: dict) ‑> Message
Expand source code
def message_from_raw(raw_data:dict) -> Message:
    code = raw_data['code']
    if code < codes.MESSAGE_DOWN_TEXT or code > codes.MESSAGE_DOWN_FILE:
        raise Exception('Analysed raw message unsupported: {}'.format(raw_data))
    
    type = None
    if code == codes.MESSAGE_DOWN_TEXT:
        type = MessageType.TEXT
    elif code == codes.MESSAGE_DOWN_IMAGE:
        type = MessageType.IMAGE
    else:
        type = MessageType.FILE

    ret = Message(type=type, body=raw_data['extra']['msg_body'], channel=raw_data['extra']['channel_id'],
                    sender=raw_data['extra']['from_user_id'], recipient_count=raw_data['extra']['n_recipients'],
                    id=raw_data['extra']['msg_id'], origin=raw_data['extra']['origin'], raw=raw_data)

    return ret

Classes

class Message (type: MessageType, body=None, channel: str = '', to: list = [], sender: str = '', recipient_count: int = 0, id: str = '', origin: str = 'Bot', raw=None)
Expand source code
class Message():
    def __init__(self, type:MessageType, body=None, channel:str='', to:list=[], sender:str='', recipient_count:int=0,
                 id:str='', origin:str='Bot', raw=None) -> None:
        self.type = type
        self.body = body
        self.channel = channel
        self.to = to
        self.sender = sender
        self.recipient_count = recipient_count
        self.id = id
        self.origin = origin
        self.raw = raw
class MessageType (value, names=None, *, module=None, qualname=None, type=None, start=1)

This is enumeration of message types.

Expand source code
class MessageType(Enum):
    """
    This is enumeration of message types.
    """
    TEXT = 1
    IMAGE = 2
    FILE = 3

Ancestors

  • enum.Enum

Class variables

var FILE
var IMAGE
var TEXT