Jadi saya ingin membuat game teks yang mengedit karakter setiap kali penulis yang memanggil perintah bereaksi. Kode saya sejauh ini untuk menambahkan reaksi:

@client.command()
async def test(ctx):
    msg = await ctx.send('Hi')
    up = '⬆'
    down = '⬇'
    left = '⬅'
    right = '➡'
    await msg.add_reaction(up)
    await msg.add_reaction(down)
    await msg.add_reaction(left)
    await msg.add_reaction(right)

Ini menambahkan panah atas, panah bawah, panah kiri, dan panah kanan ke pesan "Hai". Saya ingin melihat apakah seseorang mengklik panah dan apakah seseorang itu adalah pembuat perintah. Saya tidak tahu bagaimana mendapatkannya jika penulis perintah mengklik reaksi panah. Bantuan apa pun akan dihargai.

0
kid who wants to learn python 20 November 2020, 21:26

1 menjawab

Jawaban Terbaik

Jika Anda menunggu reaksi, gunakan wait_for() dengan peristiwa reaction_add sebagai argumen posisi.

Untuk membatasinya ke pemanggil, Anda dapat membuat tanda centang dan meneruskannya ke check kwarg dari wait_for(). Cek akan mengambil dua argumen dan Anda hanya perlu membandingkan jika ctx.author sama dengan pembuat cek.

Ada contoh untuk wait_for() dalam dokumentasi

Referensi: https://discordpy.readthedocs.io/en/latest/ext/commands/api.html?highlight=wait_for#discord.ext.commands.Bot.wait_for

1
CubeBlazer 20 November 2020, 19:31