iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0

今天我們我們今天要實作的是關於LOAD會用到的三大項,每一個都淺顯易懂,用法跟其字面上的意思完全一樣

新建一個檔案load.py

import discord
from discord.ext import commands
from classes import Cog_Extension

# 還不知道Cog的同學罰你們回去看看昨天的介紹
class LOAD(Cog_Extension):
        ...
        
async def setup(bot):
    await bot.add_cog(LOAD(bot))

再來將三隻功能都加到class裡面

1. load

第一個load這邊要做的是,將還沒登錄的檔案(.py檔)讀取到bot裡面

@commands.command()
async def load(self,ctx,extension):
    await self.bot.load_extension(f"cmds.{extension}")
    await ctx.send(f"Loaded {extension} done.")

2. unload

第二個,unload將已經登入的檔案從bot上撤下來

@commands.command()
async def reload(self,ctx,extension):
    await self.bot.reload_extension(f"cmds.{extension}")
    await ctx.send(f"Re - Loaded {extension} done.")

3. reload

第三個,reload將已經! 已經! 已經!(很重要所以說三次)登錄的檔案,重新讀取

@commands.command()
async def unload(self,ctx,extension):
    await self.bot.unload_extension(f"cmds.{extension}")
    await ctx.send(f"Un - Loaded {extension} done.")

main.py的呼叫

實做畫面

首先用/help來查看目前登錄了幾隻

https://ithelp.ithome.com.tw/upload/images/20231006/20161505adIyN0g2kk.png

再來用unload去把test.py撤下來
(注意,discord上顯示的是每個class名稱,並不是py檔的名稱,請一定要注意看大小寫)
https://ithelp.ithome.com.tw/upload/images/20231006/20161505iEaVOWAeV1.png

接著使用load將test.py給登錄上去

https://ithelp.ithome.com.tw/upload/images/20231006/20161505XtNk08QgAV.png

明天就來把我們的訂房功能慢慢加上去吧


上一篇
[Day 24]Cog的實作練習
下一篇
[Day 26]今日輸入做得好,明天查找沒煩惱
系列文
30天來打造一個方便的訂房機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言