Discord.py Embed in bestimme Channel senden?
Hallo ich habe ein DiscordBot erstellt, der kann Embeds senden, aber wie geht das dass ich den bot in bestimmte Channel Embeds schicken kann?
Z.B:
await ctx.send(embed=embed, CHANNEL_ID)
Hier mein Code:
@commands.has_role(816429501893443634)
async def sendmsg(ctx):
embed = discord.Embed(title="text", description=f"**txt**", footer=f"txt", colour=0xFF0000)
embed.set_author(name="txt")
embed.add_field(name="text", value="text", inline=False)
await ctx.send(embed=embed)
1 Antwort
Du musst über die Channel-ID den Channel bekommen und statt an den Context eben an den Channel senden
wenn dein Bot selbst intern z.B. über die Variable client zur Verfügung steht:
client.get_channel(CHANNEL_ID).send(embed=embed)
statt eben ctx.send(embed=embed)
ah nein ich glaub du meinst so: async def sendmsg(816318257710759977):
nein, das meine ich so nicht. Du sendest immer noch an ctx, was der momentane Kontext der erhaltenen Nachricht ist. Das ist dann der Channel, über welchen die Nachricht kam. Ich hab mal meine Antwort ergänzt
Hier ist jetzt mein Code aber wenn ich !sendmsg eingebe sendet der Bot keine Nachricht.
idchannel = input("Enter your Channel ID: ")
idchannel = "CHANNEL_ID"
@commands.has_role(816429501893443634)
async def sendmsg(ctx):
embed = discord.Embed(title="text", description=f"**txt**", footer=f"txt", colour=0xFF0000)
embed.set_author(name="txt")
embed.add_field(name="text", value="text", inline=False)
await bot.get_channel(CHANNEL_ID).send(embed=embed)
CHANNEL_ID ist auch nur der Platzhalter für die Channel-ID, die eine Zahl sein sollte
ich kriege es nicht hin, könntest du mir über Discord helfen?
könntest du mir über Discord helfen?
könnte ich, will ich aber nicht
Lass dir doch mal in der Konsole CHANNEL_ID ausgeben - und auch den Typen von Channel_ID.
Der Typ müsste ein int sein und der Inhalt eben die Channel-ID, die du von Discord selbst bekommst
meinst du so: "await ctx.send(embed=embed, 816318257710759977 )" ?