首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python teamspeak3接口

Python teamspeak3接口
EN

Stack Overflow用户
提问于 2020-11-23 04:32:22
回答 1查看 261关注 0票数 0

我正在使用github的API为TS3创建一个机器人。

在main.py中,我使用TS3Connection类创建了一个名为ts3conn的连接实例。然后我注册一个事件,如下所示:`ts3conn.register_for_channel_events(channel_id,event_handler)

在module.py中,我创建了一个event_handler,如下所示:

代码语言:javascript
复制
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服务器通信的函数。

EN

回答 1

Stack Overflow用户

发布于 2020-11-24 06:01:41

使用一个类包装handling_event函数,该类将在调用时将ts3conn传递给处理程序。

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64959236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档