nonebot / adapter-discord

NoneBot2 Discord 适配器 / Discord adapter for nonebot2
20 stars 6 forks source link

ActionFailed: 404 (The application did not respond #25

Closed paul-sama closed 5 months ago

paul-sama commented 5 months ago

from nonebot.adapters.discord.commands import (
    on_slash_command
)
matcher_bbbb = on_slash_command(
    name="xxxxx_test_on_slash_command",
    description="test_on_slash_command",
    options=[],
)

@matcher_bbbb.handle()
async def _func_test_on_slash_command(bot: Bot, event: Event):
    logger.info(event)
    user_id = event.get_user_id()
    import time
    time.sleep(3)
    from nonebot.adapters.discord import MessageSegment as DC_MsgSeg
    r = await bot.send(event, message=DC_MsgSeg.text('你移除了插件'))

配置了 DISCORD_API_TIMEOUT=300 无效 接口必须在3s内响应,不然就报错, 上面改成2s都正常, 3s就报错

后台报错 <ActionFailed: 404, code=10015, message=Unknown Webhook, data=None, errors=None>

聊天界面显示 The application did not respond

CMHopeSunshine commented 5 months ago

DISCORD_API_TIMEOUT只是Bot调用Discord Api的超时时间,和这个应用命令无关,应用命令的响应时间是Discord限死的,必须在3秒内响应,你可以先发一个延迟响应,再等待。 README里有示例:matcher.send_deferred_response