예제 #1
0
 def verify_execution(self, msg: Message, cmd: Command) -> bool:
     executer = msg.get_field('Sender')
     if executer == SERVER_UID and cmd.level <= Command.SERVER:
         return True
     elif executer == self.get_uid() and cmd.level <= Command.LOCAL:
         return True
     elif cmd.level <= Command.GUEST:
         return True
     return False
예제 #2
0
 def distribute_message(self, msg: Message):
     msg_type = msg.get_field('Type')
     if msg_type == MESSAGE_MSG_TYPE:
         self._recv_msg_buffer.append(msg)
         self.disp_msg(msg)
     elif msg_type == COMMAND_MSG_TYPE:
         self._cmd_buffer.append(msg)
     else:  # Unknown type message
         self._handle_unknow_type_msg(msg)
예제 #3
0
 def disp_msg(self, msg: Message) -> None:
     sender = self._users.get(msg.get_field('Sender'))
     nick = ''
     if sender is not None and self._users.get(sender) is not None:
         nick = self._users.get(sender)
     print('[%d]%s: %s' % (sender, nick, msg.get_field('Message')))  # Expected
예제 #4
0
 def _handle_unknow_type_msg(self, msg: Message):
     if not msg.get_field('Type') in self._unknow_type_msg_storage.keys():
         self._unknow_type_msg_storage[msg.get_field('Type')] = [msg]
     else:
         self._unknow_type_msg_storage.get(msg.get_field('Type')).append(msg)