from ci import admin_id
from pyrogram import Client
from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup, InlineKeyboardButton, ReplyKeyboardMarkup, \
ReplyKeyboardRemove
HELP_MSG_PRE = 'PaimonBot ' \
'0.4.5beta By Xtao-Labs\n\n' \
'🔅 以下是小派蒙我学会了的功能(部分):\n'
HELP_MSG = """① [武器/今日武器] 查看今日武器材料和武器
② [天赋/今日天赋] 查看今日天赋材料和角色
③ [周本] 查看周本材料和人物
④ [运势 (名字)] 查看今日运势
💠 运势 (重云)
💠 设置运势 (重云)
⑤ [角色查询 名字] 查看人物简介
💠 角色查询 重云
⑥ [命座 名字] 查看人物命座
💠 命座 重云一命
⑦ [武器查询 武器名] 查看武器资料
💠 武器查询 沐浴龙血的剑
⑧ [原魔查询 原魔名] 查看原魔资料
💠 原魔查询 丘丘人
⑨ [食物查询 食物/食材名] 查看食物资料
💠 食物查询 甜甜花/甜甜花酿鸡
⑩ [圣遗物查询 圣遗物套装名] 查看圣遗物套装资料
💠 圣遗物查询 逆飞的流星
(11) [图鉴 (角色/武器名)] 查看图鉴
💠 图鉴 万叶
======
(12) [抽卡] 抽卡
💠 抽卡
💠 抽卡 2
💠 抽卡 武器
💠 抽卡 常驻
(13) [原神黄历] 查看随机生成的原神黄历
(14) [活动列表] 查看今日活动列表和祈愿列表
(15) [圣遗物评分] 我也想拥有这种分数的圣遗物(切实)
(16) [哪里有 (资源名)] 查看资源的位置
(17) [资源列表] 查看原神所有资源(私聊)
(18) [猜语音] 和群友一起玩猜语音小游戏吧!(群聊)
💠 猜语音
💠 猜语音 无尽模式
(19) [怎么养 (角色名)] 输出角色适用武器&圣遗物
(20) [给谁用 (武器名)] 输出武器适用角色
(21) [攻略 (角色名)] 查看攻略
(22) [米游社/hoyolab] 米游社/hoyolab相关功能
💠 点击查看"""
async def welcome_command(_: Client, message: Message):
# 发送欢迎消息
await message.reply("你好!我是原神小助手 - 派蒙 。\n\n"
"以下是我认识的部分关键词哦,您也可以发送 /help 命令查看完整列表 ~", quote=True,
reply_markup=ReplyKeyboardMarkup(
[["今日武器", "今日天赋", "活动列表"],
["周本", "运势", "黄历"],
["米游社签到", "米游社当前信息", "米游社每月统计"],
["hoyolab签到", "hoyolab当前状态", "hoyolab每月统计"]]
))
async def cancel_command(_: Client, message: Message):
# 发送清空状态信息
await message.reply("已清空所有玄学状态 ~", quote=True,
reply_markup=ReplyKeyboardRemove())
async def ping_command(client: Client, message: Message):
# 提醒在线状态
await message.reply("poi~", quote=True)
async def leave_command(client: Client, message: Message):
# 退出群组
chat_id = message.text.split()[-1]
# 权限检查
if message.from_user.id == admin_id:
return
try:
await client.leave_chat(chat_id)
await message.reply('成功执行退出群组命令。')
except Exception as e:
await message.reply(f'错误:\n{e}')
async def help_command(client: Client, message: Message):
text = HELP_MSG_PRE + HELP_MSG.split("\n======\n")[0]
await message.reply(text, quote=True, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup(
[
[InlineKeyboardButton("下一页", callback_data="help_1")],
]))
async def help_callback(client: Client, query: CallbackQuery):
data = query.data.replace("help_", "")
try:
data = int(data)
except ValueError:
data = 1
text = HELP_MSG_PRE + HELP_MSG.split("\n======\n")[data]
await query.message.edit(text, disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup(
[
[InlineKeyboardButton("上一页" if data else "下一页",
callback_data="help_0" if data else "help_1")],
]))