通过js在特定时间发送消息
Send Message in specific time via js
我如何才能在 1 分钟内仅向 10 个 chatId 发送 1 条消息,然后在一分钟内再次发送到 10 个下一个 chatId,直到我的 chatId 完成?
我的意思是我想以 1 分钟的延迟时间向所有 chatIds 发送一条消息
$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);
我如何才能在 1 分钟内仅向 10 个 chatId 发送 1 条消息,然后在一分钟内再次发送到 10 个下一个 chatId,直到我的 chatId 完成? 我的意思是我想以 1 分钟的延迟时间向所有 chatIds 发送一条消息
$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);