Discord.py 质量管理
Discord.py Massdm
我需要这个群发给除作者以外的所有人发消息
但是我真的不知道该怎么做...
@bot.command()
async def massdm(self, ctx, *, args=None):
if args != None:
members = ctx.guild.members
for member in members:
try:
await member.send(args)
print("'" + args + "' sent to: " + member.name)
except:
print("Couldn't send '" + args + "' to: " + member.name)
else:
await ctx.channel.send("A message was not provided.")
在discord.py(1.5.x)的新版本中,Intents
有一些变化。意图就像权限,你需要定义它才能使用一些东西,比如发送私人消息。您必须在 bot = discord.Bot()
.
之前定义它
import discord
intents = discord.Intents().all()
bot = discord.Bot(prefix='', intents=intents)
如果你只想启用发送私人消息,你可以intents = discord.Intents().dm_messages
但我建议你使用discord.Intents().all()
。
更多信息,您可以查看API references。
这是完整的代码。
@client.command(pass_context=True)
async def massdm(ctx):
await ctx.message.delete()
for member in list(client.get_all_members()):
try:
embed = discord.Embed(title="Test",
description="Test!",
color=discord.Colour.blurple())
embed.set_thumbnail(
url="test")
embed.set_footer(
text=
"test"
)
await asyncio.sleep(30)
await member.send(embed=embed)
except:
pass
#await ctx.send(f"Messaged: {member.name}")
print(f"Messaged: {member.name}")
我需要这个群发给除作者以外的所有人发消息 但是我真的不知道该怎么做...
@bot.command()
async def massdm(self, ctx, *, args=None):
if args != None:
members = ctx.guild.members
for member in members:
try:
await member.send(args)
print("'" + args + "' sent to: " + member.name)
except:
print("Couldn't send '" + args + "' to: " + member.name)
else:
await ctx.channel.send("A message was not provided.")
在discord.py(1.5.x)的新版本中,Intents
有一些变化。意图就像权限,你需要定义它才能使用一些东西,比如发送私人消息。您必须在 bot = discord.Bot()
.
import discord
intents = discord.Intents().all()
bot = discord.Bot(prefix='', intents=intents)
如果你只想启用发送私人消息,你可以intents = discord.Intents().dm_messages
但我建议你使用discord.Intents().all()
。
更多信息,您可以查看API references。
这是完整的代码。
@client.command(pass_context=True)
async def massdm(ctx):
await ctx.message.delete()
for member in list(client.get_all_members()):
try:
embed = discord.Embed(title="Test",
description="Test!",
color=discord.Colour.blurple())
embed.set_thumbnail(
url="test")
embed.set_footer(
text=
"test"
)
await asyncio.sleep(30)
await member.send(embed=embed)
except:
pass
#await ctx.send(f"Messaged: {member.name}")
print(f"Messaged: {member.name}")