這個bot可以經伺服器中的成員踢出伺服器並加入黑名單的成员。使用此語法的人需要有ban成員的權限才能使用。
**from discord.ext import commands
import discord
intents = discord.Intents.all()
bot = commands.Bot(command_prefix='!',intents=intents)
@bot.event
async def on_ready():
print('Logged in as')
print(bot.user.name)
print(bot.user.id)
print('------')
@bot.command()
@commands.has_permissions(ban_members=True)
async def ban(ctx, member: commands.MemberConverter):
await member.ban()
await ctx.send(f'{member.name} has been banned.')
bot.run('token')**
程式碼的重點是使用第七天用到的commands.MemberConverter將參數解析為對象。 這樣可以直接使用該對象的ban方法來實現加入黑名單。 另外使用intents指定需要的消息內容和成員後台權限,使bot可以獲取所需要的信息,這裡為了方便就將intents權限全開。 has_permissions裝飾器確保使用命令的使用者具有封禁成員的權限。 通過這些機制實現了一個安全可靠的封禁discord成員的命令。