Wie sendet man ( mit einem python bot ) eine dm an einen bestimmten user?
Wie sende ich per DM eine Nachricht mit einem Python bot an einem bestimmten Nutzer also statt message.author.send("A") iergendwie sowas wie message.user#8484.send("A")
2 Antworten
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Um den Nutzer (member) erst einmal ermitteln zu können, brauchst du gewisse Rechte. Lies dazu hier.
Sobald du die notwendige Einstellung im Discord-Konto vorgenommen hast, setzt du noch den Intent für deinen Client:
import discord
intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)
Anschließend kannst du den Nutzer anhand seiner ID suchen und ihm mittels send eine Nachricht schicken.
user = client.get_user(id)
user.send(content="Some message ...")
Lies dazu auch hier:
![](https://images.gutefrage.net/media/user/parzival257/1649891353534_nmmslarge__193_0_517_517_5c4356c025cf51c85fece971bf025b4a.jpg?v=1649891354000)
user = await client.fetch_user(id)
channel = await user.create_dm()
await channel.send(Main.dc_text)
Das Wichtigste ist die ID des Users, den Du kontaktieren möchtest und dass der User einen Server mit Deinem Bot teilt.
Die ID kannst du folgendermaßen herausfinden:
async def on_message(self, message):
if message.author == client.user:
return
print(message.author.id)
Sobald eine Nachricht in einen Server-Textchannel geschickt wird, printet das Programm dessen ID, vorrausgesetzt es ist nicht die des Bots.