mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-31 04:45:23 +08:00
52 lines
2.0 KiB
Python
52 lines
2.0 KiB
Python
# Auto generated by LangBot Plugin SDK.
|
|
# Please refer to https://langbot.app/docs/en/plugin/dev/tutor.html for more details.
|
|
from __future__ import annotations
|
|
|
|
from typing import Any, AsyncGenerator
|
|
|
|
from langbot_plugin.api.definition.components.command.command import Command, Subcommand
|
|
from langbot_plugin.api.entities.builtin.command.context import ExecuteContext, CommandReturn
|
|
|
|
|
|
class Info(Command):
|
|
|
|
def __init__(self):
|
|
super().__init__()
|
|
|
|
@self.subcommand(
|
|
name="", # empty string means the root command
|
|
help="Show information of the query", # command help message
|
|
usage="info", # command usage example, displayed in the command help message
|
|
aliases=["i"], # command aliases
|
|
)
|
|
async def send(self, context: ExecuteContext) -> AsyncGenerator[CommandReturn, None]:
|
|
|
|
reply_text = f"Query ID: {context.query_id}\n"
|
|
reply_text += f"command: {context.command}\n"
|
|
reply_text += f"command_text: {context.command_text}\n"
|
|
reply_text += f"params: {context.params}\n"
|
|
reply_text += f"crt_params: {context.crt_params}\n"
|
|
reply_text += f"privilege: {context.privilege}\n"
|
|
reply_text += f"session: {context.session.launcher_type.value}_{context.session.launcher_id}\n"
|
|
|
|
print(f"发起者ID{context.session.launcher_id}发送者ID{context.session.sender_id}消息类型{context.session.launcher_type}")
|
|
|
|
yield CommandReturn(
|
|
text=reply_text,
|
|
)
|
|
|
|
@self.subcommand(
|
|
name="field",
|
|
help="Show information of the field",
|
|
usage="info field",
|
|
aliases=["f"],
|
|
)
|
|
async def field(self, context: ExecuteContext) -> AsyncGenerator[CommandReturn, None]:
|
|
|
|
field_name = context.crt_params[0]
|
|
field_value = getattr(context, field_name)
|
|
|
|
yield CommandReturn(
|
|
text=f"{field_name}: {field_value}",
|
|
)
|