Update main.py

This commit is contained in:
Soulter 2024-07-26 17:14:28 +08:00 committed by GitHub
parent ace03f51ed
commit 7a991417e2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

61
main.py
View File

@ -1,64 +1,29 @@
import os
import shutil
from nakuru.entities.components import *
flag_not_support = False
try:
from util.plugin_dev.api.v1.bot import Context, AstrMessageEvent, CommandResult
from util.plugin_dev.api.v1.config import *
from util.plugin_dev.api.v1.bot import (
AstrMessageEvent,
CommandResult,
)
except ImportError:
flag_not_support = True
print("导入接口失败。请升级到 AstrBot 最新版本。")
'''
注意改插件名噢格式XXXPlugin Main
提示把此模板仓库 fork 之后 clone 到机器人文件夹下的 addons/plugins/ 目录下然后用 Pycharm/VSC 等工具打开可获更棒的编程体验自动补全等
注意以格式 XXXPlugin Main 来修改插件名
提示把此模板仓库 fork 之后 clone 到机器人文件夹下的 addons/plugins/ 目录下然后用 Pycharm/VSC 等工具打开可获更棒的编程体验自动补全等
'''
class HelloWorldPlugin:
"""
初始化函数, 可以选择直接pass
AstrBot 会传递 context 给插件
- context.register_commands: 注册指令
- context.register_task: 注册任务
- context.message_handler: 消息处理器(平台类插件用)
"""
def __init__(self) -> None:
pass
def __init__(self, context: Context) -> None:
self.context = context
self.context.register_commands("helloworld", "helloworld", "内置测试指令。", 1, self.helloworld)
"""
机器人程序会调用此函数
"""
def run(self, ame: AstrMessageEvent):
if ame.message_str.startswith("helloworld"): # 如果消息文本以"helloworld"开头
return CommandResult(
hit=True, # 代表插件会响应此消息
success=True, # 插件响应类型为成功响应
message_chain=[Plain("Hello World!!")], # 消息链
command_name="helloworld" # 指令名
)
return CommandResult(
hit=False, # 插件不会响应此消息
success=False,
message_chain=None
)
"""
插件元信息
当用户输入 plugin v 插件名称 会调用此函数返回帮助信息
返回参数要求(必填)dict{
"name": str, # 插件名称
"desc": str, # 插件简短描述
"help": str, # 插件帮助信息
"version": str, # 插件版本
"author": str, # 插件作者
"repo": str, # 插件仓库地址 [ 可选 ]
"homepage": str, # 插件主页 [ 可选 ]
}
"""
def info(self):
return {
"name": "helloworld",
"desc": "这是 AstrBot 的默认插件,支持关键词回复。",
"help": "输入 /keyword 查看关键词回复帮助。",
"version": "v1.3",
"author": "Soulter",
"repo": "https://github.com/Soulter/helloworld"
}
def helloworld(self, message: AstrMessageEvent, context: Context):
return CommandResult().message("Hello, World!")