新版本的 telgraf 删除了该端点 https://github.com/telegraf/telegraf/releases/tag/v4.0.0#:~:text=ctx.updateSubTypes
我们如何使用新 API 检测消息类型
这是旧的 ctx 重新运行
新版本的 telgraf 删除了该端点 https://github.com/telegraf/telegraf/releases/tag/v4.0.0#:~:text=ctx.updateSubTypes
我们如何使用新 API 检测消息类型
这是旧的 ctx 重新运行
这是 AKA 在telegraf 3ctx.updatesubtypes
中获取消息类型的替代用法。
bot.use((ctx, next) => {
console.log(`Message Type is: ${getMessageType(ctx.message)}`);
// Message Type is: STICKER or Message Type is: TEXT
});
const getMessageType = (message) => {
var keys = Object.keys(message);
var messageType = keys.pop();
console.log(messageType);
return messageType.toUpperCase();
};
在 4.6.0 中good
使用ctx.updatesubtypes的替代方法是:
bot.use((ctx, next) => {
let message_type = "";
let keys = Object.keys(ctx.message);
if (keys.includes("text")) {
message_type = "text";
} else if (keys.includes("sticker")) {
message_type = "sticker";
} else if (keys.includes("photo")) {
message_type = "photo";
}
console.log(`Message Type is: ${message_type}`);
next();
});