python库for ephoria.io

Karelia的Python项目详细描述


卡雷利亚

Karelia是一个函数库,用于将机器人连接到Heim聊天 Euphoria.io平台

语法

机器人:


bot代表一个用于ephoria.io的bot

要创建只响应单个nick的bot,请调用karelia.bot(nick, room) 它将返回一个bot对象。 或者,要让bot响应多个名称,请调用 karelia.bot([list, of, nicks], room)将显示为 列表中的第一个nick,但响应stock命令发送到所有nick。

如果在bot接收到!kill命令时需要特定操作,则用户可以编写函数并将其分配给bot.on_kill

_初始值

__init__(self, name, room): 初始化bot对象

连接

connect(self, stealth=False): 连接到指定的房间并设置尼克。

bot.connect()将连接到房间,然后使机器人出现在nicklist上。 bot.connect(stealth=True)将连接到房间,但不会为机器人设置缺口。

更改尼克

change_nick(self, nick='')change_nick向heim服务器发送nick命令。

如果机器人只有一个缺口:

  • bot.change_nick()将导致bot将其nick设置为先前指定的值
  • bot.change_nick("nick")将导致bot将其nick设置为nickstorenick,以供将来参考。

如果机器人指定了多个划痕:

  • bot.changenick()将导致bot将其nick设置为其列表中的第一个nick
  • bot.changenick("nick")将导致bot将其nick设置为nick,并将存储nick作为其列表中的第一个值

获得正常运行时间

get_uptime(self): 由!uptime命令调用。以字符串形式返回连接后的时间。

发送

send(self, message, parent=''): 除非bot暂停,否则发送提供的消息。可以指定父消息:send(message, parent = parent_id)

如果message参数的类型为dict,则它将作为数据包发送。否则,它将被视为消息的主体。

格式为send(message, parent):

  • message:要么是完整的包,要么是字符串形式的消息。
  • parent:正在答复的邮件的ID。如果没有指定, Karelia将以新的父级即底层消息的形式发送消息。

bot.send('Top-level message')将作为顶级消息发送。

bot.send('It's a reply!','02aa8y85m7hts')将以 对id为02aa8y85m7hts的消息的答复。

bot.send({'type': 'log', 'data': {'n':1000}})将发送日志 请求向会议室发送上千条最新消息。

回复

reply(self, message): 包装纸bot.send()

将唯一参数作为对最近的parse()d消息的答复发送。

断开

disconnect(self): 试图在self.conn关闭连接。如果不成功,它将记录并引发异常。

解析

parse(self)parse()处理botrulez中指定的命令 (github.com/jedevc/botrulez)和那些需要生存的人。

parse()是一个阻塞函数-也就是说,它总是等到 回来前收到海姆寄来的包裹。

在接收到数据包时,它将回复ping(全局和特定的)。 提供正常运行时间,暂停和取消暂停bot,响应帮助请求(再次, 全局和特定)和反宿主命令,并杀死机器人。

对于所有附加了名称的命令,如果有任何名称 储存在self.namesmatch中。

对所有botrulez命令的响应(除了 正常运行时间,作为反对异议响应格式的权力 可以用bot.stock_responses指令改变。 可用值:

keydefault value
'ping''Pong!'
'short_help'(no response)
'long_help'(no response)
'paused''/me has been paused'
'unpaused''/me has been unpaused'
'killed''/me has been killed'

不管采取什么措施,它都会返回未经更改的数据包。如果 发生错误时,将返回异常。

注:自2017年3月16日起,如果死亡,它将自动断开 并返回字符串“killed”。 注意:如果2018~0622被杀死,它将记录杀手,运行{{CD43}},然后退出。

使尼克正常化

normalise_nick(self, nick):返回提供的nick的已知标准格式(即不带空格的小写)。

对数

log(self, **kwargs): 将尽可能多的信息记录到外部文件中。

或者,指定log(event = "Event to Log", logfile = "bot_logs.log")。 否则,日志将以以下格式写入文件:botname_room.log

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我们可以使用java for loop with switch语句。。?   java如何从具有循环关系的数据集生成树?   使用s:mvcUrl标记时java Spring启动问题   javascript Wicket调色板水平滚动条在firefox中不显示   java如何清理Maven插件绑定?   java将文件从设备发送到计算机不起作用(文件被破坏)   Java GPU编程的性能   java字符串标记器问题   连接Java LDAP断开连接   java Android GridView将无法确定正确的位置   java AlarmManager在指定时间未显示toast消息   MVC中的java测试外观|断言返回类型   logcat上的java Android运行时错误   java Building Workspace在Eclipse中遇到错误   堆栈溢出尾部递归遗传算法抛出“awteventque0”java。StackOverflowerr语言   java ArrayOutOfBounds测试代码不工作   java有没有像Moodle这样流行的课程管理系统?   java如何从jsp获取xml文件作为响应