Ich würde zwei verschiedene Befehle vorschlagen, da es sich ja auch um 2 Arten von Aufgaben handelt. Zum einen send-message u. send-all
import discord
from discord.ext import commands
class MemberConverter(commands.MemberConverter):
#Dieser Converter macht es möglich, jede Art von input zu einem Member Objekt zu machen, heißt @Name, @Name#1234, Name#1234, usw.
async def convert(self, ctx, argument):
member = await super().convert(ctx, argument)
return member
class PM(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command(aliases=["send-pm"])
async def send-message(self, ctx, member:MemberConverter=None, *, message:string=None):
if not member: return
if not message: return
await member.send(message)
@commands.command(aliases=["send-server"])
async def send-all(self, ctx, *, message:string=None):
if not message: return
for member in ctx.guild.members:
await member.send(message)
def setup(bot):
bot.add_cog(PM(bot))
"""
Diese Datei ist alleinstehend, kann also vom Bot dazugeladen werden.
Dazu muss man in der Startdatei des Bots diese Zeile Code einfügen
bot.load_extension("Pfad.zur.Datei.NAME") # Der Pfad geht von der Startdatei aus
"""
Falls noch Fragen bestehen, einfach fragen.
Ich hoffe ich konnte dir weiterhelfen.