用于各种聊天服务的python库

bokkichat的Python项目详细描述


博基查特

masterdevelop
build statusbuild status

Logo

bokkichat是一个python库,它提供了用于交互的统一接口 有不同的聊天服务。

例如,它可以用来为whatsapp和telegram编写bot 没有很多特定于服务的更改。

扩展这一思想的项目是 kudubot

实现的连接类型

目前,以下连接类型是现成支持的:

  • cli
  • 电报(bot)

安装

安装bokkichat就像运行pip install bokkichat一样简单,或者 python setup.py install从源安装时。

用法

首先,需要初始化正确的设置对象,然后可以 用于初始化连接。

frombokkichat.settings.impl.TelegramBotSettingsimportTelegramBotSettingsfrombokkichat.connection.impl.TelegramBotConnectionimportTelegramBotConnectionsettings=TelegramBotSettings("APIKEY")connection=TelegramBotConnection(settings)

然后,可以使用连接对象发送、接收和循环。

一些示例:

# Sending a messagefrombokkichat.settings.impl.TelegramBotSettingsimportTelegramBotSettingsfrombokkichat.connection.impl.TelegramBotConnectionimportTelegramBotConnectionfrombokkichat.entities.message.TextMessageimportTextMessagefrombokkichat.entities.AddressimportAddresssettings=TelegramBotSettings("APIKEY")connection=TelegramBotConnection(settings)receiver=Address("12345678")msg=TextMessage(connection.address,receiver,"BODY","TITLE")connection.send(msg)
# Echo every received messagefrombokkichat.settings.impl.TelegramBotSettingsimportTelegramBotSettingsfrombokkichat.connection.impl.TelegramBotConnectionimportTelegramBotConnectionfrombokkichat.connection.ConnectionimportConnectionfrombokkichat.entities.message.MessageimportMessagesettings=TelegramBotSettings("APIKEY")connection=TelegramBotConnection(settings)defecho(con:Connection,msg:Message):reply=msg.make_reply()con.send(reply)connection.loop(echo)

实现自己的连接类型

如果您要使用的连接类型不是由bokkichat本身实现的, 你可以自己实现它。为此,您需要实现两个 上课。

首先,您需要实现Settings类的子类 并实现其抽象方法。看看 各种设置类 here 为了一些灵感。

settings类定义 机器人运行。

之后,必须实现Connection类的子类。 再次,实现抽象的方法,让自己受到启发 previous implementations

connection类定义如何与服务本身通信。

这两个类定义了bokkichat连接所需的所有内容。

更多信息

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

推荐PyPI第三方库


热门话题
java iText字体显示不正确   java使用ApacheFTPClient通过代理连接到FTP服务器   java是在类常量池、字符串池还是年轻一代中为字符串文本分配的空间?GC何时可以访问字符串文字?   java如何读取excel文件并将值设置为null   验证。包含在Java中不用于验证电子邮件格式的(“@”)   两个服务器实例上的java Hibernate主键冲突   java我无法在For循环(JavaFX)中设置按钮文本   单独SocketChannels的java并发读取()对于大型字节缓冲区速度较慢   OpenPDF java分组元素以保持在同一页面上   java将组件放置在任意(x,y)坐标处   java Jackson不会序列化hibernate惰性抓取字段   从Eclipse将带有库的java项目导出到可运行jar   java为什么会出现{错误?   java如何将线性布局(作为子布局)动态添加到约束布局(父布局)?