首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当昵称与命令相同时,脚本不起作用- XChat

当昵称与命令相同时,脚本不起作用- XChat
EN

Stack Overflow用户
提问于 2013-07-27 19:50:46
回答 1查看 215关注 0票数 0

我用Python语言为XChat编写了一个脚本。当有人输入!pop时,它会随机给出一条消息。当我的昵称不是Pop时,它工作得很好。如果我将昵称更改为Pop,它将不起作用。它只有在我输入的时候才起作用!

代码如下:

代码语言:javascript
复制
__module_name__ = 'Pop Script'
__module_version__ = '0.1'
__module_description__ = 'Epic popping script.'

import xchat
from random import randint

msgs = ['pops a balloon', 
        'pops a roller pop',
        'eats up a poppy pie',
        'pops a cracker',
        'pops a lollipop']

command = '!pop'

def choose_msg():
    x = randint(0,len(msgs)-1)
    message = msgs[x]
    return message

def a(word, world_eol, userdata):
    msg = choose_msg()
    cmnd = 'me %s' % msg
    if word[1] == command:
        xchat.command(cmnd)
    else:
        xchat.EAT_NONE

xchat.hook_print("Channel Message", a)
xchat.hook_print("Your Message", a)
EN

回答 1

Stack Overflow用户

发布于 2013-07-27 20:56:40

我从未使用过XCHAT;不过,我将尝试一下。看起来您是在比较命令文本是否与!pop完全相同,而不是查看它是否包含pop

有两种方法可以解决这个问题:

word1中的命令中删除!字符,并在区分大小写的情况下将命令的其余部分与 pop 进行比较,检查word1是否包含pop。如下所示:

def a(word,world_eol,userdata):msg = choose_msg() cmnd =‘me%s’% msg #这里我们将输入命令规范化为小写,并检查** command **是否是**word1** if命令的子串。xchat.command() xchat.command(cmnd) else: word1

如果有效,请让我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17897454

复制
相关文章

相似问题

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