Python Discord BOT - Wie Nachrichten senden?
Hi, ich frage mich, welcher Code bezwegt, dass ich Nachrichten Über PN schicken kann... Jedoch sollte der Code so aufgebaut sein, das ich den Code als Befehl über einen Discord-Server oder über PN steuern kann... Zum Beispiel:
jb!send-message User TestUser#6843 Test
oder
jb!send-message Server Alien Test
Der Befehl sorgt dann dafür, dass der BOT eine Privat Nachricht an den User TestUser#6843 schickt, die lautet, Test (Ist natürlich dann anpassbar)...
Der zweite befehl sorgt dafür, dass der BOT eine Privat Nachricht an alle User auf den genannten Discord schickt, die ebenfalls lautet, Test (Ist natürlich dann ebenfalls anpassbar)...
Hoffe, dass dies verständlich ist! Ach, und ich arbeite mit Python 3.8!
1 Antwort
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.