用Python或Perl随机化HexChat IRC Client的脚本

时间:2015-02-24 11:02:18

标签: python perl random irc hexchat

我有一种预感,对此的回答非常容易,但是我无法弄明白(事实上我根本不知道这些语言中的任何一种情况)。 我需要的是一个以这种方式工作的脚本:

  1. 首先,输入类似!random的命令和1-100范围内的数字(数字表示成功的概率为%)[像这样:!random 78]
  2. 然后,它将 - 基于给定的概率 - 选择你是否成功[例如,使用!random 78,结果将是“成功”的概率为78%]
  3. 然后,它会在频道上显示公共信息结果是什么(“成功”或“失败”)
  4. 我需要这个用于在线文本RPG会话。也很抱歉我的英语不好。

    代码现在的样子:

        __module_name__ = "HexChat Randomiser"
        __module_version__ = "0.1"
        __module_description__ = "A randomiser for HexChat."
          
        import random
        import xchat
    
    def callback(word, world_eol, userdata):
        number = word[1]
        if random_chance(number):
            print ("Success")
        else:
            print ("Failure")
    
    
        def random_chance(percent_chance):
            return random.randrange(1, 101) > (100 - percent_chance)
    
    
        xchat.hook_command("random", callback, help="/random <number>")
    

    错误:

    Traceback (most recent call last):
    File "<string>", line 10, in callback
    File "<string>", line 17, in random_chance
    TypeError: unsupported operand type(s) for -: 'int' and 'str'
    

1 个答案:

答案 0 :(得分:1)

首先,您可能需要查看有关hexchat的PythonPerl文档。

如果你想继续使用python我已经写了一个小脚本来帮助你入门:

import random
import xchat

def callback(word, world_eol, userdata):
    number = word[1]
    if random_chance(number):
        print "Success"
    else:
        print "Failure"


def random_chance(percent_chance):
    return random.randrange(1, 101) > (100 - int(percent_chance))


xchat.hook_command("random", callback, help="/random <number>")

你必须自己让它在hexchat中工作。要加载脚本,您必须先将其保存在某处,然后调用load command

  

加载

     

加载具有给定文件名的脚本。 / load也可以。