iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0

1.功能介紹:

這個bot可以經伺服器中的成員踢出伺服器並加入黑名單的成员。使用此語法的人需要有ban成員的權限才能使用。

2.程式碼

**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')**

3.程式說明:

程式碼的重點是使用第七天用到的commands.MemberConverter將參數解析為對象。 這樣可以直接使用該對象的ban方法來實現加入黑名單。 另外使用intents指定需要的消息內容和成員後台權限,使bot可以獲取所需要的信息,這裡為了方便就將intents權限全開。 has_permissions裝飾器確保使用命令的使用者具有封禁成員的權限。 通過這些機制實現了一個安全可靠的封禁discord成員的命令。

4.執行結果

https://ithelp.ithome.com.tw/upload/images/20230917/20161116G4P5YWZ7X7.png


上一篇
[Day12]警告成員
下一篇
[Day14]警告3次並ban成員
系列文
使用discord.py開發自己的機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言