[英]Discord.py Massdm
我需要這個 Mass Dm 來給除作者以外的所有人發消息,但我真的不知道該怎么做......
@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
有一些變化。 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 參考。
這是完整的代碼。
@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}")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.