Python XCHAT API问题

时间:2011-06-10 19:49:24

标签: python callback irc

我正在XCHAT中编写脚本,并且在阅读其他脚本时,我注意到大多数脚本都使用了return xchat.EAT_ALL。以下是XCHAT Python API的文档:

回调返回常量(EAT_ ) 当一个回调应该返回一个EAT _ 宏时,它能够控制回调返回后xchat的进行方式。这些是可用的常量及其含义:

  • EAT_PLUGIN 不要让任何其他插件收到此事件。
  • EAT_XCHAT 不要让xchat像往常一样对待这个事件。
  • EAT_ALL 完全吃这个活动。
  • EAT_NONE 让一切都像往常一样发生。
  • 返回None与返回EAT_NONE相同。

我想知道 为什么 这样做。我真的不明白这是什么意思,而且XCHAT Python API的文档也不多。我很好奇何时使用其中的哪一个。

1 个答案:

答案 0 :(得分:0)

只是你粘贴的内容:

XChat中会发生某些事件,您可以注册要处理的函数。可以为每个事件注册多个回调函数 - 通过插件或XChat本身。

因此,在您的函数完成了它想做的任何事情后,它需要决定是否允许触发其他回调。举个简单的例子,假设您正在编写一个过滤具有特定单词的传入消息的脚本。无论何时收到消息,都会触发它,如下所示:

if any(word in swearwords for word in message):
    return xchat.EAT_ALL    # The 'message received' event stops here
else:
    return xchat.EAT_NONE   # Let it be handled normally.