Skip to main content

使用插件

python-wechaty-plugin-contrib已经内置了常用的插件,这里将要介绍如何使用插件库中内置的插件。

使用内置插件

DingDong 插件

这个是wechaty 机器人中的hello world。

examples/ding-dong-bot.py
import asynciofrom wechaty import Wechatyfrom dotenv import load_dotenvfrom wechaty_plugin_contrib import DingDongPluginasync def main():    load_dotenv()    bot = Wechaty()    bot.use(DingDongPlugin())    await bot.start()    asyncio.run(main())

导入相关插件类之后,示例化一个即可通过use来使用此插件。

Info Logger 插件

此插件主要是

examples/quick-start/info-logger-bot.py
import asynciofrom wechaty import Wechatyfrom dotenv import load_dotenvfrom wechaty_plugin_contrib import InfoLoggerPluginasync def main():    load_dotenv()    bot = Wechaty()    bot.use(InfoLoggerPlugin())    await bot.start()asyncio.run(main()) 

原理剖析

当插件被注册到插件内部后,机器人内部将会做以下事情:

  • 将插件按照注册顺序插入到内部队列当中,一旦收到系统消息,将会按照顺序调用对应插件
  • 插件将会把所有消息事件都冒泡到插件当中,如:on_message, on_room_join, on_friendship
  • 扫描并注册blueprint中注册的http和websocket服务。