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设置为nick
和storenick
,以供将来参考。
如果机器人指定了多个划痕:
bot.changenick()
将导致bot将其nick设置为其列表中的第一个nickbot.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.names
match中。
对所有botrulez命令的响应(除了
正常运行时间,作为反对异议响应格式的权力
可以用bot.stock_responses
指令改变。
可用值:
key | default 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