Discord Python Bot öneri odası

eux239

Hectopat
Katılım
13 Eylül 2020
Mesajlar
29
Çözümler
1
Selamlar, Discord Python bot yazıyorum. Discord'da bir oda olacak ismi öneriler. O odanın ID'sini alacağım ve o odaya yazdıkları mesajları alıp embed ile göndermek istiyorum. O sırada onların yazdıkları mesaj silinecek. Embede de beğendim ve beğenmedim emojisi attıracağım bota. Ama kişinin mesajını alıp embed olarak atma kısmını yapamıyorum. Yardımcı olursanız sevinirim.
 
Selamlar, Discord Python bot yazıyorum. Discord'da bir oda olacak ismi öneriler. O odanın ID'sini alacağım ve o odaya yazdıkları mesajları alıp embed ile göndermek istiyorum. O sırada onların yazdıkları mesaj silinecek. Embede de beğendim ve beğenmedim emojisi attıracağım bota. Ama kişinin mesajını alıp embed olarak atma kısmını yapamıyorum. Yardımcı olursanız sevinirim.
Ödev tarzı bir çalışma mı?
🙂
 
Hayır kendi çapımda yazıyorum. İnternetten baya araştırdım ama bi türlü kullanıcının girdiği mesajı alıp atamadım. Bu arada kullanıcı mesajı direk odaya yazıcak komut kullanmayacak.
Doğru mu anladım kontrol etmek istiyorum. Botun yapmasını istediğiniz şeyler;
1- ID ile belirlenmiş kanala yazılan her mesajı prefix olmadan da algılamalı.
2- Mesajı embed haline çevirmeli.
3- Embed biçimindeki mesajı aynı odaya göndermeli.
4- Embed mesajına tepki (emoji) eklemeli.
5- Kullanıcının mesajını silmeli.
 
Doğru mu anladım kontrol etmek istiyorum. Botun yapmasını istediğiniz şeyler;
1- ID ile belirlenmiş kanala yazılan her mesajı prefix olmadan da algılamalı.
2- Mesajı embed haline çevirmeli.
3- Embed biçimindeki mesajı aynı odaya göndermeli.
4- Embed mesajına tepki (emoji) eklemeli.
5- Kullanıcının mesajını silmeli.
Aynen doğru anlamışsınız.
 
nextcord kütüphanesi ile:
Python:
@Bot.event
async def on_message(message):
    channel = Bot.get_channel(123456789123456789) # Kendi kanalınızın id'sini giriniz.
    msg = message.content
    if message.channel != channel:
        return
    if msg:
        embed = nextcord.Embed(title="Öneri", description=message.content)
        embed.set_footer(text=f"{message.author.name} tarafından gönderildi.", icon_url=message.author.avatar.url)
        await message.delete()
        sent_message = await channel.send(embed=embed)
        emoji_up = "🔼"
        emoji_down = "🔽"
        await sent_message.add_reaction(emoji_up)
        await sent_message.add_reaction(emoji_down)

discord.py kütüphanesi ile:
Python:
@Bot.event
async def on_message(message):
    channel = Bot.get_channel(123456789123456789) # Kendi kanalınızın id'sini giriniz.
    msg = message.content
    if message.channel != channel:
        return
    if msg:
        embed = discord.Embed(title="Öneri", description=message.content)
        embed.set_footer(text=f"{message.author.name} tarafından gönderildi.", icon_url=message.author.avatar.url)
        await message.delete()
        sent_message = await channel.send(embed=embed)
        emoji_up = "🔼"
        emoji_down = "🔽"
        await sent_message.add_reaction(emoji_up)
        await sent_message.add_reaction(emoji_down)

Biraz geç olmuş ama başkalarının işine yarayabilir belki
 
Son düzenleme:

Geri
Yukarı