当前位置: 首页 > news >正文

基于LangBot的插件编写

环境准备

1.首先将LangBot环境与NapCat启动并配置好webSocket,确保NapCat能够从qq上接收信息并转发给LangBot处理。

2.在任意位置新建项目文件夹,并使用uv安装 LangBot CLI 和 SDK

uv run pip install -U langbot_plugin

3.初始化

uv run lbp init

image

4.调整WebSocket 地址

复制插件目录下的.env.example文件为.env

copy .env.example .env

5.启动插件调试

uv run lbp run

image

绑定组件

 在插件目录下执行以下命令,会自动生成一个事件监听器,其功能监听流水线执行期间的事件,对上下文或流水线进行修改。

uv run lbp comp EventListener

image

编辑default.py文件

from __future__ import annotationsfrom langbot_plugin.api.definition.components.common.event_listener import EventListener
from langbot_plugin.api.entities import events, context
# 导入事件上下文api
import langbot_plugin.api.entities.builtin.platform.message as platform_messageclass DefaultEventListener(EventListener):async def initialize(self):await super().initialize()"Fill with your code here"
     #注册事件PersonMessageReceived@self.handler(events.PersonMessageReceived) async def handler(event_context: context.EventContext):print("Hello LangBot Plugin")print(event_context)await event_context.reply(platform_message.MessageChain([platform_message.Plain(text=f"我正在调用api回复你"),]))

 此代码的作用是:注册对PersonMessageReceived(收到来自私聊的任何消息)事件的监听,并在事件触发时打印Hello LangBot Plugin和事件的上下文(EventContext)信息,并调用事件上下文 API 回复一条消息。

消息平台界面:

image

 控制台:

image

事件触发信息处理 

event_context.event对象下保存着事件触发的具体信息,对其进行处理就是一个插件编写的后续了。

例如可以获取接受的信息msg = str(event_context.event.message_chain)

http://www.jsqmd.com/news/106689/

相关文章:

  • 计算机小程序毕设实战-基于springboot+微信小程序的应急救援小能手软件系统的设计与实现学习火灾、地震、急救等应急知识【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 亚马逊卖家容易失误的3个坑,有人这样做亏了10w!
  • 西门子博途1200-V/N积分法卷径计算功能块(SCL源代码)在收放卷设备中的应用
  • 计算机小程序毕设实战-基于springboot+微信小程序的跑腿小程序的设计与实现基于微信程序的跑腿平台的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • PostgreSQL数据库
  • LSTM,PSO-LSTM,SSA-LSTM,SSA-CNN-LSTM四种算法做数多分类
  • mysql面试题整理
  • 技术成果的价值量化方法
  • 基于PowerShell的Windows服务命令行管理器
  • sizeof 核心原理:编译期的 “内存大小计算器”
  • IPv6违规外联防御指南:从风险盲区到可管可控
  • 直接上手玩转遗传算法,先搞个简单的函数最值问题热热身。比如找f(x)=x²的最小值,这玩意儿小学生都能秒答,但咱们用遗传算法折腾一下。先看看种群初始化代码
  • GitLab讲解
  • 算法驱动搜索变革:亚马逊新规则,卖家如何赢下曝光争夺战?
  • 汇编语言全接触-33.RichEdit 控件基础知识
  • 【光照】[PBR][镜面反射]实现方法解析
  • 从“十五五”规划建议看智慧医疗重点发展方向
  • 汇编语言全接触-32.多文档界面(MDI)
  • [后端进阶] 详解分布式锁的三种实现方式:MySQL vs Redis vs ZooKeeper
  • 香港科技大学团队发明“智能管家“,让AI一眼就知道该抓哪里用哪里
  • 《ZeroTier教程》02-使用docker部署自建PLANET和controller 二次开发ztncui控制面板
  • 中国储能第一股赴美IPO,但工厂也得搬过去
  • 最长公共子序列(LCS)
  • 机器视觉介绍
  • KAIST突破:AI实现SVG矢量图形智能动画
  • Model Context Protocol(MCP)简介以及简单示例代码测试(.net8)
  • 非支配排序多目标鲸鱼优化算法(NSWOA) Matlab实现探索
  • 完整教程:openEuler 22.03 LTS 部署 ELK(Elasticsearch+Logstash+Kibana)完整教程
  • KP32511SGA固定12V输出小家电电源芯片 典型应用电路
  • [表单]HTML Learn Data Day 1