iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 27
0
AI & Data

用Node.js製作後台零負擔的DiscordBot系列 第 27

Day27 - tag控管 - 續行方法解說

  • 分享至 

  • xImage
  •  

以下文章已於 2021/09/16 轉移至 微笑之家
對於discord.js更新,或是有其他問題,都歡迎到以下網址查看喔
本站
本主題
本文章


昨天我們實作了tag身份組功能
使用者透過機器人tag一整個身份組的功能
我們希望還可以有

  • 創建身分組的指令
  • 將使用者加入身份組指令
  • 刪除身分組的指令
  • 將使用者從某個身份組中刪除的指令

這些功能與以往的做法不同
API會從原本的Get改成使用Post方法
bot程序會需要用到續行方法,來彌補當前機器人框架無法實現的功能

續行方法

程式上並沒有這種寫法的稱呼,只是在當前框架下,我給這個寫法的一種叫法而已

目前我們機器人指令的呼叫方式基本模式是

前綴字 + 指令 + 間隔符 + 參數(如果有)

如果前綴字沒有匹配,就對資料庫做判斷,是否有相同觸發字來自動回應(卡米狗模式)

這種做法會面臨到一個問題,指令都是在一行內完成的

如果希望先下達指令,等待機器人給予回饋,再繼續輸入指令呢?

沒錯,使用者的操作會變得相對複雜
假設一個指令叫做 !AFK ,然後要輸入三次且三次的參數都正確,機器人才會醒來
那使用者就要連續輸入三次

!AFK 1
!AFK 2
!AFK 3

而不是

!AFK
1
2
3

讓使用者不斷重複的輸入指令顯然不是我們希望的

因此我們會需要使用續行,讓BOT觸發到特定指令後,綁定此用戶進行接下來的行為

明天我們會實作postAPI,以及將 將使用者加入特定身分組的功能 寫好
如果篇幅足夠會再講 將使用者從某個身份組中刪除


上一篇
Day26 - tag控管機制(1)
下一篇
Day28 - tag控管機制(2)
系列文
用Node.js製作後台零負擔的DiscordBot31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言