类型提示的异步电报bot库。
roboto-telegram的Python项目详细描述
机器人
一个类型暗示的异步电报bot库,支持trio
、curio
和{
Roboto的API还不是完全稳定的。它将保持0.x.0 直到Telegram Bot API完全实现,并将 完成时为1.0.0。在
基本用途
Roboto仍然是一个低级的bot API,这意味着它不能提供太多 对botapi进行抽象(不过,这是计划中的)。在
目前,一个基本的回声机器人与机器人看起来像:
fromrobotoimportToken,BotAPIfromtrioimportrun# This could be asyncio or curio as well!api_token=Token('your-bot-token')asyncdefmain()->None:asyncwithBotAPI.make(api_token)asbot:offset=0whileTrue:updates=awaitbot.get_updates(offset)forupdateinupdates:ifupdate.messageisnotNoneandupdate.message.textisnotNone:awaitbot.send_message(update.message.chat.id,update.message.text,)ifupdates:offset=updates[-1].update_id+1# In asyncio it should be "main()".run(main)
作为静态类型,Roboto支持简单的自动完成和mypy
静态
检查。在
贡献
查看我们的contributing guide以了解如何在 并为我们的项目做出贡献。在
目标
原则
- 易于对客户端代码进行静态检查,尤其是静态类型。在
- 转发兼容性(对bot HTTP API的添加不应破坏旧版本 机器人版本)。在
实现的里程碑
- [十] 支持除asyncio之外的其他异步运行时(尤其是
^{
} )(在0.2.0中完成)。在 - [十] ^{
} in the official documentation (0.3.0)下的所有函数。在 - [十] ^{
} in the official documentation (0.4.0)下的所有函数。在
下一个里程碑
- []在^{
} in the documentation (0.5.0)下的所有函数。在 - []Inline mode functionality(0.6.0)。在
- []Payments functionality(0.7.0)。在
- []Telegram Passport functionality(0.8.0)。在
- []Games functionality(0.9.0)。在
- []测试
bot_tester
中的所有bot API函数。在 - []包含示例和教程的文档。在
- []API文档(自动生成,可能是 Sphinx)。在
- []API清理/简化(例如,在bot方法中仅使用kw参数)(1.0.0)。在
- []高级API(命令处理程序的抽象,必要的内部 州等)。在
致谢
这曾经是一个免责声明,我们是供应商
asks。我们不再是(我们需要的功能是
现在在上游),但我仍然会保持承认,因为它(通过
anyio)使我们能够支持这三个
主要的异步事件循环,asyncio
,trio
和{
- 项目
标签: