這次開發一個之後活動可能會用到的功能叫抽籤
只要輸入/draw
就隨機抽一位公會在線上的成員
希望有了這個功能後公會能多半抽獎活動(無誤)
程式碼如下:
from discord.ext import commands
from core.classes import Cog_Extension
from random import choice
class draw(Cog_Extension):
@commands.command()
async def draw(self,ctx):
member_list = []
guild = self.bot.get_guild(int(self.GUILDID_TOKEN))
# print(guild.members)
for user in guild.members:
if str(user.status) != "offline":
# print(user)
member_list.append(f"<@{user.id}>")
await ctx.message.reply(choice(member_list))
def setup(bot):
bot.add_cog(draw(bot))
這邊需要注意的點是要記得把Intents的設定開啟,不開的話成員都會顯示offline,寫法如下:
intents = discord.Intents.all()
intents.members = True
bot = commands.Bot(command_prefix='/',intents =intents)
呈現畫面:
雖然他們應用方法跟我想的好像不太一樣
但是他們玩得開心我就沒多說什麼了(?)