More cleanup, merged pymumble into the project so I don't have to maintain 2 separate things, tested working version.
This commit is contained in:
158
pymumble_py3/messages.py
Normal file
158
pymumble_py3/messages.py
Normal file
@@ -0,0 +1,158 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from .constants import *
|
||||
from threading import Lock
|
||||
|
||||
|
||||
class Cmd:
|
||||
"""
|
||||
Define a command object, used to ask an action from the pymumble thread,
|
||||
usually to forward to the murmur server
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
self.cmd_id = None
|
||||
self.lock = Lock()
|
||||
|
||||
self.cmd = None
|
||||
self.parameters = None
|
||||
self.response = None
|
||||
|
||||
|
||||
class MoveCmd(Cmd):
|
||||
"""Command to move a user from channel"""
|
||||
|
||||
def __init__(self, session, channel_id):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_MOVE
|
||||
self.parameters = {"session": session,
|
||||
"channel_id": channel_id}
|
||||
|
||||
|
||||
class TextMessage(Cmd):
|
||||
"""Command to send a text message"""
|
||||
|
||||
def __init__(self, session, channel_id, message):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_TEXTMESSAGE
|
||||
self.parameters = {"session": session,
|
||||
"channel_id": channel_id,
|
||||
"message": message}
|
||||
|
||||
|
||||
class TextPrivateMessage(Cmd):
|
||||
"""Command to send a private text message"""
|
||||
|
||||
def __init__(self, session, message):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_TEXTPRIVATEMESSAGE
|
||||
self.parameters = {"session": session,
|
||||
"message": message}
|
||||
|
||||
|
||||
class ModUserState(Cmd):
|
||||
"""Command to change a user state"""
|
||||
|
||||
def __init__(self, session, params):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_MODUSERSTATE
|
||||
self.parameters = params
|
||||
|
||||
|
||||
class RemoveUser(Cmd):
|
||||
"""Command to kick (ban=False) or ban (ban=True) a user"""
|
||||
|
||||
def __init__(self, session, params):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_REMOVEUSER
|
||||
self.parameters = params
|
||||
|
||||
|
||||
class CreateChannel(Cmd):
|
||||
"""Command to create channel"""
|
||||
|
||||
def __init__(self, parent, name, temporary):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_MSG_TYPES_CHANNELSTATE
|
||||
self.parameters = {"parent": parent,
|
||||
"name": name,
|
||||
"temporary": temporary}
|
||||
|
||||
|
||||
class RemoveChannel(Cmd):
|
||||
"""Command to create channel"""
|
||||
|
||||
def __init__(self, channel_id):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_MSG_TYPES_CHANNELREMOVE
|
||||
self.parameters = {"channel_id": channel_id}
|
||||
|
||||
|
||||
class UpdateChannel(Cmd):
|
||||
"""Command to update channel"""
|
||||
|
||||
def __init__(self, params):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_UPDATECHANNEL
|
||||
self.parameters = params
|
||||
|
||||
|
||||
class VoiceTarget(Cmd):
|
||||
"""Command to create a whisper"""
|
||||
|
||||
def __init__(self, voice_id, targets):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_MSG_TYPES_VOICETARGET
|
||||
self.parameters = {"id": voice_id,
|
||||
"targets": targets}
|
||||
|
||||
|
||||
class LinkChannel(Cmd):
|
||||
"""Command to link channel"""
|
||||
|
||||
def __init__(self, params):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_LINKCHANNEL
|
||||
self.parameters = params
|
||||
|
||||
|
||||
class UnlinkChannel(Cmd):
|
||||
"""Command to unlink channel"""
|
||||
|
||||
def __init__(self, params):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_UNLINKCHANNEL
|
||||
self.parameters = params
|
||||
|
||||
|
||||
class QueryACL(Cmd):
|
||||
"""Command to query ACL information for channel"""
|
||||
|
||||
def __init__(self, channel_id):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_QUERYACL
|
||||
self.parameters = {"channel_id": channel_id}
|
||||
|
||||
|
||||
class UpdateACL(Cmd):
|
||||
"""Command to Update ACL information for channel"""
|
||||
|
||||
def __init__(self, channel_id, inherit_acls, chan_group, chan_acl):
|
||||
Cmd.__init__(self)
|
||||
|
||||
self.cmd = PYMUMBLE_CMD_UPDATEACL
|
||||
self.parameters = {"channel_id": channel_id,
|
||||
"inherit_acls": inherit_acls,
|
||||
"chan_group": chan_group,
|
||||
"chan_acl": chan_acl}
|
Reference in New Issue
Block a user