簡體   English   中英

ctx.updateSubTypes Telgraf 4 的替代品

[英]Alternative of ctx.updateSubTypes Telgraf 4

新版本的 telgraf https://github.com/telegraf/telegraf/releases/tag/v4.0.0#:~:text=ctx.updateSubTypes刪除了該端點

我們如何使用新的 API 檢測消息類型

在此處輸入圖像描述

這是舊的 ctx 重新運行

這是ctx.updatesubtypes AKA 在telegraf 3中獲取消息類型的替代用法。

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();
};

來源是: https://stackoverflow.com/a/58052712/10694425

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

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();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM