簡體   English   中英

如何讓我的機器人每 10 秒更改一次狀態? (在線,空閑,免打擾)Discord.js

[英]How can I make my bot change status every 10 seconds? (Online, Idle, DND) Discord.js

我想知道我是否可以將我的 Discord.js 機器人設置為每隔一段時間更改其在線狀態,例如每 10 秒左右從在線切換到空閑、免打擾,然后再次返回在線,並永遠重復。

這是我當前的狀態代碼:

bot.on("ready", ()=>{
    bot.user.setPresence({activity: {name: 'IN REWORK!' }, status: `idle` })
    .then(console.log)
    .catch(console.error);

有更改活動但不能更改狀態的解決方案,有人可以幫忙嗎? - 謝謝。

更改機器人狀態

使用setPresence方法更新機器人活動,您可以包含status參數來更新機器人狀態。

bot.user.setPresense(
    activity: {
        name: 'IN WORK'
    },
    status: 'online' // online, idle, invisible, dnd
)

按間隔更改狀態

在javascript中,可以使用setTimeout function在特定時間后運行function里面的代碼。

var onlineStatus = 'online'

function statusLoop() {
    setTimeout(() => {
    if (onlineStatus === 'online') idleStatus();

    statusLoop(); // schedule the next status update.
    }, 10000) // Time in ms, 10000 ms = 10s
}

function onlineStatus() {
    bot.user.setPresense(
        activity: {
            name: 'IN WORK'
        },
        status: 'online' // online, idle, invisible, dnd
    )
    onlineStatus = 'online'
}

statusLoop();

只需創建 function 的 rest,就完全一樣了

參考

Discord.js

暫無
暫無

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

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