在进行 set_my_commands 时遇到错误,这可能是由于缺少 bot token 或 bot 非管理员所致。以下是具体的代码示例:
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.dispatcher import filters
# 填入用于登陆 Telegram Bot 的 token
TOKEN = 'BOT_TOKEN_HERE'
# 设置日志记录级别以调试任何问题
logging.basicConfig(level=logging.INFO)
bot = Bot(TOKEN, parse_mode=types.ParseMode.HTML)
dp = Dispatcher(bot)
# 错误示例1:缺少 bot token
try:
dp.bot.set_my_commands([
types.BotCommand('/help', '获取帮助信息'),
types.BotCommand('/settings', '打开设置菜单'),
])
except Exception as e:
logging.exception(e)
# 错误示例2:bot 非管理员
@dp.message_handler(filters.Command('admin'))
async def cmd_admin(message: types.Message):
try:
await bot.set_my_commands([
types.BotCommand('/help', '获取帮助信息'),
types.BotCommand('/settings', '打开设置菜单'),
types.BotCommand('/admin', '进入管理员面板'),
])
except Exception as e:
logging.exception(e)
在这个示例中,我们可以看到两种可能的错误情况。在尝试设置命令时,确保您的 bot token 是有效的,且对应的 bot 是管理员。如果仍然无法解决问题,请查阅 aiogram 的官方文档以获得更详细的信息和指导。