Python teamspeak3 api
Python teamspeak3 api
我正在使用来自 github 的 API 为 TS3 创建一个机器人。
在 main.py 中,我使用 TS3Connection class 创建了名为 ts3conn
的连接实例。然后我注册一个这样的事件:`ts3conn.register_for_channel_events(channel_id, event_handler)
在 module.py 中,我创建了一个 event_handler
这样的:
event_handler(sender, **kw):
event = kw["event"] # variable 'event' contains target_channel_id (to which client moved) and client_id
# Here I need to use the ts3conn instance from main, don't know how.
所以我尝试在 module.py 中执行 from main import ts3conn
但它停止了。我试图理解 TS3Connection.py 和 Events.py(最重要的文件),但作者使用模块“blinker”,我不知道如何编辑这些文件。
如果你能帮助我,我很乐意接受解决问题的原始方法,但我也想保留当前的 main 结构,包含连接和模块目录,其中包含使用连接与TS3 服务器。
用 class 包装 handling_event 函数,在调用时将 ts3conn 传递给处理程序。
class event_handler(object):
def __init__(self, ts3conn):
self.ts3conn = ts3conn
def handle_event(self, sender, **kw):
print(self.ts3conn)
# some operations on ts3conn
# in main
handler = event_handler(ts3conn)
ts3conn.register_for_channel_events(1, handler.handle_event)
我正在使用来自 github 的 API 为 TS3 创建一个机器人。
在 main.py 中,我使用 TS3Connection class 创建了名为 ts3conn
的连接实例。然后我注册一个这样的事件:`ts3conn.register_for_channel_events(channel_id, event_handler)
在 module.py 中,我创建了一个 event_handler
这样的:
event_handler(sender, **kw):
event = kw["event"] # variable 'event' contains target_channel_id (to which client moved) and client_id
# Here I need to use the ts3conn instance from main, don't know how.
所以我尝试在 module.py 中执行 from main import ts3conn
但它停止了。我试图理解 TS3Connection.py 和 Events.py(最重要的文件),但作者使用模块“blinker”,我不知道如何编辑这些文件。
如果你能帮助我,我很乐意接受解决问题的原始方法,但我也想保留当前的 main 结构,包含连接和模块目录,其中包含使用连接与TS3 服务器。
用 class 包装 handling_event 函数,在调用时将 ts3conn 传递给处理程序。
class event_handler(object):
def __init__(self, ts3conn):
self.ts3conn = ts3conn
def handle_event(self, sender, **kw):
print(self.ts3conn)
# some operations on ts3conn
# in main
handler = event_handler(ts3conn)
ts3conn.register_for_channel_events(1, handler.handle_event)