PaiGram/plugins
2022-06-19 17:15:12 +08:00
..
admin.py 修改单词拼写错误 2022-06-09 23:35:32 +08:00
artifact_rate.py 当 Redis 无法连接时,使用 fakeredis 模拟 并且 完善 测试 (#51) 2022-06-19 15:42:02 +08:00
auth.py 添加基于 MT19937 的随机数生成器 2022-06-18 19:56:44 +08:00
base.py 修改部分函数细节 添加注释 2022-06-09 23:35:32 +08:00
cookies.py 添加修饰器 conversation_error_handler 到部分函数 2022-06-18 19:33:57 +08:00
daily_note.py 修改部分函数细节 添加注释 2022-06-09 23:35:32 +08:00
errorhandler.py 修改 conversation_error_handler 能够识别多种 InvalidCookies 错误 2022-06-15 00:34:12 +08:00
gacha.py 对获取 characters 的数据来源进行修改 2022-06-15 20:34:20 +08:00
help.py 更改 help 资源目录结构 2022-06-12 15:36:04 +08:00
inline.py Remove unused imports 2022-06-18 02:34:12 +08:00
post.py 修改推送文章模块的键盘 2022-06-19 13:45:48 +08:00
quiz.py 添加基于 MT19937 的随机数生成器 2022-06-18 19:56:44 +08:00
README.md 更新 plugins/README.md 说明 2022-06-19 17:15:12 +08:00
sign.py 允许找不到信息时 直接发出 2022-06-10 17:17:33 +08:00
start.py Modify function to contain unused parameters 2022-06-09 23:35:32 +08:00
strategy.py 修改部分函数细节 添加注释 2022-06-09 23:35:32 +08:00
uid.py 添加【角色数据】异常时的提示 2022-06-15 00:15:55 +08:00
weapon.py 对获取 weapon 的数据来源进行修改 2022-06-15 19:54:42 +08:00
wiki.py 应用 wiki 模块到服务和插件中 2022-06-15 19:52:36 +08:00

plugins 目录

说明

该目录仅限处理交互层和业务层数据交换的任务

如有任何新业务接口,请转到 service 目录添加

如有任何API请求接口请转到 model 目录添加

基础代码

from telegram import Update
from telegram.ext import CallbackContext

from plugins.base import BasePlugins
from plugins.errorhandler import conversation_error_handler

class Example(BasePlugins):

    @staticmethod
    def create_conversation_handler(service: BaseService):
        example = Example(service)
        return CommandHandler('example', example.command_start)

    @conversation_error_handler
    async def command_start(self, update: Update, context: CallbackContext) -> None:
        await message.reply_text("Example")

注意

plugins 模块下的类需要继承 BasePlugins

plugins 模块下的类必须提供 create_conversation_handler 静态函数作为构建相应会话过程给 handle.py

在函数注册为命令处理过程(如 CommandHandler )需要添加 conversation_error_handler 修饰器作为错误统一处理

必要的函数必须捕获异常后通知用户或者直接抛出异常