MibooGram/plugins/admin/set_command.py
2024-09-25 23:15:46 +08:00

90 lines
4.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import TYPE_CHECKING
from telegram import BotCommand, BotCommandScopeAllPrivateChats, BotCommandScopeChat
from core.plugin import Plugin, handler
from core.config import config
from utils.log import logger
if TYPE_CHECKING:
from telegram import Update
from telegram.ext import ContextTypes
class SetCommandPlugin(Plugin):
@handler.command("set_command", block=False, admin=True)
@handler.command("set_commands", block=False, admin=True)
async def set_command(self, update: "Update", context: "ContextTypes.DEFAULT_TYPE"):
user = update.effective_user
message = update.effective_message
logger.info("用户 %s[%s] 发出 set_command 命令", user.full_name, user.id)
user_command = [
BotCommand("cancel", "取消操作(解决一切玄学问题)"),
BotCommand("help_raw", "查看文本帮助"),
# gacha_log 相关
BotCommand("signal_log_import", "导入调频记录"),
BotCommand("signal_log_export", "导出调频记录"),
BotCommand("signal_log_delete", "删除调频记录"),
BotCommand("action_log_import", "导入登录记录"),
BotCommand("setuid", "添加/重设UID"),
BotCommand("setcookie", "添加/重设Cookie"),
BotCommand("player", "管理用户绑定玩家"),
BotCommand("verify", "手动验证"),
BotCommand("daily_note_tasks", "自动便笺提醒"),
BotCommand("cookies_import", "从其他 BOT 导入账号信息"),
BotCommand("cookies_export", "导出账号信息给其他 BOT"),
BotCommand("privacy", "隐私政策"),
]
group_command = [
# 通用
BotCommand("help", "帮助"),
BotCommand("signal_log", "查看调频记录"),
BotCommand("signal_log_online_view", "调频记录在线浏览"),
BotCommand("signal_log_rank", "抽卡排行榜"),
BotCommand("action_log", "查询登录记录"),
BotCommand("dailynote", "查询实时便笺"),
BotCommand("redeem", "(国际服)兑换 Key"),
BotCommand("ledger", "查询当月绳网月报"),
BotCommand("ledger_history", "查询绳网月报历史记录"),
BotCommand("avatars", "查询角色练度"),
BotCommand("player_card", "角色卡片"),
BotCommand("agent_detail", "角色详细信息"),
BotCommand("sign", "米游社绝区零每日签到"),
# Wiki 类
BotCommand("weapon", "查看音擎图鉴"),
BotCommand("avatar", "查询角色攻略"),
BotCommand("challenge", "防卫战信息查询"),
BotCommand("challenge_history", "防卫战历史信息查询"),
# UID 查询类
BotCommand("stats", "玩家统计查询"),
]
admin_command = [
BotCommand("add_admin", "添加管理员"),
BotCommand("del_admin", "删除管理员"),
BotCommand("refresh_wiki", "刷新Wiki缓存"),
BotCommand("save_entry", "保存条目数据"),
BotCommand("remove_all_entry", "删除全部条目数据"),
BotCommand("sign_all", "全部账号重新签到"),
BotCommand("refresh_all_history", "全部账号刷新历史记录"),
BotCommand("action_log_import_all", "全部账号导入登录记录"),
BotCommand("send_log", "发送日志"),
BotCommand("update", "更新"),
BotCommand("set_command", "重设命令"),
BotCommand("status", "当前Bot运行状态"),
BotCommand("leave_chat", "退出群组"),
BotCommand("get_chat", "获取会话信息"),
BotCommand("add_block", "添加黑名单"),
BotCommand("del_block", "移除黑名单"),
BotCommand("signal_log_rank_recount", "重新统计抽卡排行榜"),
]
await context.bot.set_my_commands(
commands=group_command
) # 留空default 为 botCommandScopeDefault, 所有聊天可见
await context.bot.set_my_commands(commands=user_command + group_command, scope=BotCommandScopeAllPrivateChats())
if config.error.notification_chat_id:
await context.bot.set_my_commands(
commands=admin_command + group_command + user_command,
scope=BotCommandScopeChat(config.error.notification_chat_id),
)
await message.reply_text("设置命令成功")