[DAY 25]建立bot抽签功能

这次开发一个之後活动可能会用到的功能叫抽签

只要输入/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)

呈现画面:

虽然他们应用方法跟我想的好像不太一样

但是他们玩得开心我就没多说什麽了(?)


<<:  IT铁人DAY 25-Iterator 迭代器模式

>>:  Day27 - 如何让 Google 搜寻到你的网站

番外篇(1)一起来做计算机!

距离完赛已经过了一阵子,前天想自己刻刻看计算机,拆解任务、实际执行後才发现知识量不足,导致无法顺利完...

Component 鬼牌(二): 看网址决定 Component

前端 router 前端 router 是一个很厉害的技术,让 JavaScript 的内容与网址有...

[区块链&DAPP介绍 Day5] Solidity 教学 - values types

接下来几天会花不少时间跟大家介绍 solidity 的语法介绍,今天会先介绍,学习一个语言很重要的型...

Day 16 留言是种互动!

好奇是知识的萌芽,萌芽之後,就要给予养分,让知识茁壮,没有养分的知识,只是一个没有办法萌芽的种子而已...

CIA安全目标

曾就「资讯本身的破坏」和「资讯或资讯系统获取或使用中断」进行了辩论。然而,FISMA和FIPS 19...