我正在使用github的API为TS3创建一个机器人程序。
在main.py中,我使用TS3Connection类创建了名为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(最重要的文件(;闪烁器";我不知道如何编辑这些文件。
如果你能帮助我,我可以很高兴地接受解决问题的原始方法,但我也想保持当前的主结构,包含连接和模块目录,包含使用连接与TS3服务器通信的功能。
用一个类包装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)