所以我制作了这个简单的脚本来在测试服务器上测试它,代码没有给出错误/日志但它不起作用,确切地说没有禁止任何人。有任何想法吗? (仅用于测试和教育目的。)
from discord.ext import commands
import random
import colorama
from discord import Permissions
from colorama import Fore, Style
import asyncio
token = "token"
client = commands.Bot(command_prefix="y!")
@client.event
async def on_ready():
print('''
READY
''')
await client.change_presence(activity=discord.Game(name="test"))
@client.command()
async def bonk(ctx):
for user in ctx.guild.members:
try:
await user.ban()
except:
pass
client.run(token, bot=True)```
答案 0 :(得分:0)
看起来好像缺少 Intent,因为您说您没有导入它们。没有 Intents,你无法抓住公会中的所有成员。
确保在 Discord Developer Portal 中为您的应用开启所有必要的功能。
要将它们实现到您的代码中,您可以使用以下内容:
intents = discord.Intents.all() # Imports all the Intents
client = commands.Bot(command_prefix="YourPrefix", intents=intents)
您还可以阅读docs了解更多信息。
您的完整代码是:
Imports shortened
token = "token"
intents = discord.Intents.all()
client = commands.Bot(command_prefix="y!", intents=intents)
@client.event
async def on_ready():
print('''READY''')
await client.change_presence(activity=discord.Game(name="test"))
@client.command()
async def bonk(ctx):
for user in ctx.guild.members:
try:
await user.ban()
except:
pass
client.run(token, bot=True)