簡體   English   中英

使用 Discord.js/Node.js/NeDB 在 X 小時后從用戶中刪除角色

[英]Use Discord.js/Node.js/NeDB to Remove Role From User After X Number of Hours

我對 Javascript 和 Node 比較陌生,但我已經設法為我的 discord 服務器創建了一個機器人並實現了一個基本的經濟,根據提交的帖子授予積分。 這些點存儲在 NeDB 中。 我想允許用戶兌換積分,讓某人在 X 時間內擔任特定角色。

我不確定如何開始解決這個問題。 我是否使用用戶 ID 在我的 NeDB 數據庫中記錄時間戳,然后以某種方式定期檢查該數據庫以查看時間戳是否已過? 我可以在不阻止機器人其他常規功能和命令響應的情況下執行此操作嗎?

此外,我如何使代碼健壯,這樣如果我的機器人意外斷開連接,用戶就不會被臨時角色困住?

我很好奇有編程經驗的人會如何解決這個問題,以及有哪些我不知道的可用解決方案。

非常感謝您!

在您的 index.js 文件中,您可以創建一個 function 來連接到您的數據庫,檢查每個條目是否經過了足夠的時間(將其更早地記錄在數據庫中),並采取相應的行動。 然后,您可以重復調用此 function:

setInterval(functionName, intervalMilliseconds);

上面這行只需要運行一次。 function 將被定期調用,這不會阻止機器人功能的 rest。 由於每次機器人重新啟動時都會運行此命令,因此只要機器人在線,您將始終檢查數據庫並采取適當的行動(確保將 NeDB 數據庫存儲為文件,而不是內存中)。

暫無
暫無

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

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