首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ctx.updateSubTypes Telgraf 4的替代方案

ctx.updateSubTypes Telgraf 4的替代方案
EN

Stack Overflow用户
提问于 2021-03-14 10:06:56
回答 2查看 282关注 0票数 3

这个端点是用新版本的telgraf https://github.com/telegraf/telegraf/releases/tag/v4.0.0#:~:text=ctx.updateSubTypes删除的。

如何使用新的API检测消息类型

这是旧的ctx复现

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-14 10:41:29

这是ctx.updatesubtypes AKA在telegraf 3中获取消息类型的一种替代用法。

代码语言:javascript
运行
复制
bot.use((ctx, next) => {
    console.log(`Message Type is: ${getMessageType(ctx.message)}`); 
    // Message Type is: STICKER or Message Type is: TEXT
});
代码语言:javascript
运行
复制
const getMessageType = (message) => {
    var keys = Object.keys(message);
    var messageType = keys.pop();
    console.log(messageType);
    return messageType.toUpperCase();
};

资料来源:https://stackoverflow.com/a/58052712/10694425

票数 3
EN

Stack Overflow用户

发布于 2022-01-23 12:46:57

在4.6.0中使用ctx.updatesubtypes的一个good替代方案是:

代码语言:javascript
运行
复制
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();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66623191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档