繁体   English   中英

通过JS在特定时间发送消息

[英]Send Message in specific time via js

如何在1分钟内仅向10个chatId发送1条消息,并在一分钟内再次向10个下一个chatId发送,直到我的chatId完成? 我的意思是我想以1分钟的延迟向所有chatId发送消息

$chatIds = array("xxx","xxx","xxx",......);

此代码仅向1个人发送1条消息(msg.chat.id)

const StartKeyboard = [
  ['a', 'b'],
  ['send']
]

bot.onText(/\/send/, (msg) => {
  const opts = {
    reply_to_message_id: msg.message_id,
    reply_markup: JSON.stringify({
      keyboard: StartKeyboard,
      resize_keyboard: true,
      one_time_keyboard: true
    })
  };
  bot.sendMessage(msg.chat.id, `Hello`, opts);
});

我想使用一些(foreach($chatIds as $chatId) {)(setInterval)但我不知道该如何使用。

如果chatIds对象是这样的:

chatIds = [{message_id: 123, chat: {id : 456}}, {message_id: 234, chat: {id : 567}} ];

您可能会做的是:

    setInterval(() => {
      chatIds.splice(0,10).forEach((msg) => {
      const opts = {
        reply_to_message_id: msg.message_id,
        reply_markup: JSON.stringify({
          keyboard: StartKeyboard,
          resize_keyboard: true,
          one_time_keyboard: true
        })
      };
       bot.sendMessage(msg.chat.id, `Hello`, opts);
    });}, 60000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM