iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
AI & Data

建立FF14資訊Discord chatbot系列 第 19

[DAY 19]bot在線狀態通知

  • 分享至 

  • xImage
  •  

最近bot的更新量蠻大,有時候會關掉bot方便更新程式碼

為了讓頻道上的人知道目前bot的狀態,決定來寫個bot在線狀態通知

步驟

  1. 關掉bot後會在頻道上通知bot已關
  2. 啟動bot後會在頻道上通知bot已開

實現

第二點很好實現,在先前的on_ready裡面選擇要在哪個頻道發訊息後再用send()發訊息就可以了
程式碼如下:

class main(Cog_Extension):
    #調用event函式庫
    @commands.Cog.listener()
    #當機器人完成啟動時
    async def on_ready(self):
        bot_channel = self.bot.get_channel(int(780753727418138635))
        print('目前登入身份:',self.bot.user)
        await bot_channel.send(f"我回來惹(*´∀`*)")

呈現畫面:

第一點就比較麻煩我到現在還沒試成功過(汗)

我有在官方文檔看到on_disconnect)跟我要得功能很類似,但實際測過發現沒辦法work

後來我有搜到這篇文章

他一樣也是想要關掉bot後會在頻道上通知bot已關

但照解答的寫法依然還是無法成功

我的寫法如下:

@commands.command(aliases=["quit"])
@commands.has_permissions(administrator=True)
async def close(self,ctx):
    bot_channel = self.bot.get_channel(int(780753727418138635))
    await bot_channel.send(f"開發者把我關掉了,請稍後QQ")
    await self.bot.close()

如果有高手有幸看到這篇文章麻煩留個言教我怎麼實現QQ


上一篇
[DAY 18]讓BOT 24小時在線(GCP版本)
下一篇
[DAY 20]用bot打出色色柴犬counter牌(更新句子相似度判斷)
系列文
建立FF14資訊Discord chatbot30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言