You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TypeScript的discord-interactions时遇到两种不同的InteractionResponseType枚举问题

使用TypeScript的discord-interactions时遇到两种不同的InteractionResponseType枚举问题

嘿,我刚接触TypeScript不久,最近在用Cloudflare Workers搭建一个Discord机器人,用的是discord-api-types/v10库(我把它导入成了DAPI),走HTTP交互端点的路子。

我在代码里定义了Command接口,每个命令对象都有个execute方法,给它加了这样的类型提示(稍微简化了下代码):

interface Command {
    execute: (interaction: DAPI.APIInteraction) => Promise<DAPI.APIInteractionResponse>;
}

但现在碰到个头疼的问题:处理交互响应的时候,发现存在两种不同的InteractionResponseType枚举——一个是discord-api-types里的DAPI.InteractionResponseType,另一个是discord-interactions库自带的同名枚举。

比如我想返回频道消息的时候,用DAPI.InteractionResponseType.ChannelMessageWithSource是符合类型定义的,但当我用discord-interactions里的工具函数(比如验证签名的verifyKey)时,它又会用到自己的枚举类型,这就导致类型不兼容,TypeScript一直报错说这两个枚举不是同一类型。

我试过直接把枚举值转成数字来绕开,但这样就丢了TypeScript类型检查的优势;也试过手动做类型断言,但总觉得这不是个优雅的解决方案。有没有什么办法能让这两个枚举类型兼容起来,或者统一用其中一套类型来彻底避免这种冲突呢?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:43:03