Discord.pyに特定の絵文字に反応したユーザーの数を取得するにはどうすればよいですか?

これはPythonです

Discord.pyでポーリングコマンドを作成しようとしていますが、最後にボットが1️⃣に反応したユーザーのリストと2️⃣に反応したユーザーのリストを送信したいと考えています。これはこれまでの私のコードです:

async def poll(ctx, q1, q2, time : int):
    await ctx.send(f"React with 1 to vote for **{q1}** and with 2 to vote for **{q2}**\n**Poll Lasts for {time} seconds**")

    poll = discord.Embed(title = "Poll", color = discord.Color.blue())
    poll.add_field(name = f"{q1} 1️⃣", value = "᲼᲼᲼᲼᲼᲼")
    poll.add_field(name = f"{q2} 2️⃣", value = "᲼᲼᲼᲼᲼᲼")

    msg = await ctx.send(embed = poll)

    r1 = await msg.add_reaction("1️⃣")
    r2 = await msg.add_reaction("2️⃣")

    await asyncio.sleep(time)

    await ctx.send("Times up! **Poll Closed**")

    new_msg = discord.utils.get(client.cached_messages,id = msg.id)

    users1 = await r1.reactions[0].users().flatten()
    users1.pop(users1.index(client.user))

    users2 = await r2.reactions[0].users().flatten()
    users2.pop(users2.index(client.user))

    em=discord.Embed(title=f'Votes for {q1}', description=" , ".join(user.name for user in users1),color = discord.Colour.blue())
    await ctx.send(embed = em)

    em=discord.Embed(title=f'Votes for {q2}', description=" , ".join(user.name for user in users2),color = discord.Colour.blue())
    await ctx.send(embed = em)

そして、これは私が得ているエラーです:

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'NoneType' object has no attribute 'reactions'
ŁukaszKwieciński

Message.add_reactionを返しますNone、これらの2行は使用できません

r1 = await msg.add_reaction("1️⃣")
r2 = await msg.add_reaction("2️⃣")

最も簡単なアプローチは、更新されたリアクションでメッセージを再度フェッチすることです。

message = await ctx.send("Whatever")
await message.add_reaction("1️⃣")
await message.add_reaction("2️⃣")

await asyncio.sleep(10)

updated_message = await ctx.channel.fetch_message(message.id)

users1, users2 = [], []

for r in updated_message.reactions:
    print(f"{str(r)} was added {r.count} times")

    if str(r) == "1️⃣":
        users = await r.users().flatten()
        users1.extend(users)

    elif str(r) == "2️⃣":
        users = await r.users().flatten()
        users2.extend(users)

# `users1` and `users2` are lists of users that reacted with `1️⃣` and `2️⃣` accordingly

参照:

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

メッセージ内の絵文字に反応したユーザーを取得する方法(discord.py)

分類Dev

Discord.pyでユーザーのIDを取得するにはどうすればよいですか?

分類Dev

Discord Botに絵文字の反応を検出させ、クリック(トリガー)するにはどうすればよいですか?

分類Dev

discord.py APIを使用して、discordでユーザーを特定のチャネルに移動するにはどうすればよいですか?

分類Dev

Discord JDAのdiscordタグからユーザーを取得するにはどうすればよいですか?

分類Dev

(discord.py)ユーザーが持っている権限の数のリストを取得するにはどうすればよいですか?

分類Dev

discord.pyでIDを使用してユーザーのアバターを取得するにはどうすればよいですか?

分類Dev

discord.pyでユーザーのIDを使用してユーザーに言及するにはどうすればよいですか?

分類Dev

discord.pyで特定の人のメッセージに反応を追加するにはどうすればよいですか?

分類Dev

discord.pyを使用して、特定のオプションのリストから変数としてユーザー入力を確実に取得するにはどうすればよいですか?

分類Dev

Discordでユーザー名を指定されたユーザーのIDを取得するにはどうすればよいですか?

分類Dev

Discord.jsユーザーのIDを使用してユーザーのニックネームを取得するにはどうすればよいですか?

分類Dev

メッセージに対して特定の絵文字に反応したユーザーのコレクションを取得することは可能ですか?(Discord JS)

分類Dev

(Discord.JS)作成者が選択した特定のユーザーのユーザーの言及を聞くにはどうすればよいですか?

分類Dev

Discord.pyのメッセージに対するユーザーの反応をDiscordボットで削除するにはどうすればよいですか?

分類Dev

言及されたユーザーdiscord.jsからの応答をボットに待たせるにはどうすればよいですか?

分類Dev

Discordギルドにいないユーザーのユーザー名を取得するにはどうすればよいですか?

分類Dev

discord.jsでメッセージを送信した後、discordボットに絵文字反応を起こさせるにはどうすればよいですか?

分類Dev

discord.pyで、複数の単語を1つの引数として設定し、ユーザーに引数を入力するように要求するにはどうすればよいですか?

分類Dev

(Python)discord.pyを使用してdiscordのメッセージから変数を取得するにはどうすればよいですか?

分類Dev

Discord.jsのURLから絵文字を使用するにはどうすればよいですか?

分類Dev

すべてのサーバーのユーザーから役割を削除するにはどうすればよいですか?Discord.py

分類Dev

特定のユーザーに役割があるかどうかを確認するにはどうすればよいですか?Discord js

分類Dev

参加しているユーザー/メンバーのギルドIDを取得するにはどうすればよいですか(Discord.js)

分類Dev

discord.pyのボットに特定のメッセージを指定された回数送信させるにはどうすればよいですか?

分類Dev

ニックネームに対する反応に反応した後、c#Discordボットに特定のニックネームを付けるにはどうすればよいですか?

分類Dev

on_messageにカスタム絵文字を含むメッセージにDiscordボットを応答させるにはどうすればよいですか?

分類Dev

Discord.pyの書き換えでボットのユーザー名/アバターを変更するにはどうすればよいですか?

分類Dev

Discord.pyの書き換えでボットのユーザー名/アバターを変更するにはどうすればよいですか?

Related 関連記事

  1. 1

    メッセージ内の絵文字に反応したユーザーを取得する方法(discord.py)

  2. 2

    Discord.pyでユーザーのIDを取得するにはどうすればよいですか?

  3. 3

    Discord Botに絵文字の反応を検出させ、クリック(トリガー)するにはどうすればよいですか?

  4. 4

    discord.py APIを使用して、discordでユーザーを特定のチャネルに移動するにはどうすればよいですか?

  5. 5

    Discord JDAのdiscordタグからユーザーを取得するにはどうすればよいですか?

  6. 6

    (discord.py)ユーザーが持っている権限の数のリストを取得するにはどうすればよいですか?

  7. 7

    discord.pyでIDを使用してユーザーのアバターを取得するにはどうすればよいですか?

  8. 8

    discord.pyでユーザーのIDを使用してユーザーに言及するにはどうすればよいですか?

  9. 9

    discord.pyで特定の人のメッセージに反応を追加するにはどうすればよいですか?

  10. 10

    discord.pyを使用して、特定のオプションのリストから変数としてユーザー入力を確実に取得するにはどうすればよいですか?

  11. 11

    Discordでユーザー名を指定されたユーザーのIDを取得するにはどうすればよいですか?

  12. 12

    Discord.jsユーザーのIDを使用してユーザーのニックネームを取得するにはどうすればよいですか?

  13. 13

    メッセージに対して特定の絵文字に反応したユーザーのコレクションを取得することは可能ですか?(Discord JS)

  14. 14

    (Discord.JS)作成者が選択した特定のユーザーのユーザーの言及を聞くにはどうすればよいですか?

  15. 15

    Discord.pyのメッセージに対するユーザーの反応をDiscordボットで削除するにはどうすればよいですか?

  16. 16

    言及されたユーザーdiscord.jsからの応答をボットに待たせるにはどうすればよいですか?

  17. 17

    Discordギルドにいないユーザーのユーザー名を取得するにはどうすればよいですか?

  18. 18

    discord.jsでメッセージを送信した後、discordボットに絵文字反応を起こさせるにはどうすればよいですか?

  19. 19

    discord.pyで、複数の単語を1つの引数として設定し、ユーザーに引数を入力するように要求するにはどうすればよいですか?

  20. 20

    (Python)discord.pyを使用してdiscordのメッセージから変数を取得するにはどうすればよいですか?

  21. 21

    Discord.jsのURLから絵文字を使用するにはどうすればよいですか?

  22. 22

    すべてのサーバーのユーザーから役割を削除するにはどうすればよいですか?Discord.py

  23. 23

    特定のユーザーに役割があるかどうかを確認するにはどうすればよいですか?Discord js

  24. 24

    参加しているユーザー/メンバーのギルドIDを取得するにはどうすればよいですか(Discord.js)

  25. 25

    discord.pyのボットに特定のメッセージを指定された回数送信させるにはどうすればよいですか?

  26. 26

    ニックネームに対する反応に反応した後、c#Discordボットに特定のニックネームを付けるにはどうすればよいですか?

  27. 27

    on_messageにカスタム絵文字を含むメッセージにDiscordボットを応答させるにはどうすればよいですか?

  28. 28

    Discord.pyの書き換えでボットのユーザー名/アバターを変更するにはどうすればよいですか?

  29. 29

    Discord.pyの書き換えでボットのユーザー名/アバターを変更するにはどうすればよいですか?

ホットタグ

アーカイブ