前提・実現したいこと
下に記載しているコードで、ヘルプコマンドを複数のページに分けるようにしたいです。
ページ移動にはリアクションを使用しています。
今のコードだと、最初の埋め込みは表示されて
次の次のページを表示しようとすると埋め込み➂が表示されます。
そしてページを戻すと、ページ2が表示されます。
そこからエラーもなく動かないです。
発生している問題・エラーメッセージ
エラーなし
該当のソースコード
python
1@bot.command() 2async def help(ctx): 3 pages = 3 4 cur_page = 1 5 embed1 = ・・・ 6 7 embed2 = ・・・ 8 9 embed3 = ・・・ 10 11 contents = [embed1, embed2, embed3] 12 message = await ctx.send(embed=embed1) 13 await message.add_reaction("◀️") 14 await message.add_reaction("▶️") 15 16 def check(reaction, user): 17 return user == ctx.author and str(reaction.emoji) in ["◀️", "▶️"] 18 19 while True: 20 try: 21 reaction, user = await bot.wait_for("reaction_add", timeout=60, check=check) 22 if str(reaction.emoji) == "▶️" and cur_page != pages: 23 cur_page += 1 24 await message.edit(embed=contents[cur_page]) 25 await message.remove_reaction(reaction, user) 26 elif str(reaction.emoji) == "◀️" and cur_page > 1: 27 cur_page -= 1 28 await message.edit(embed=contents[cur_page]) 29 await message.remove_reaction(reaction, user) 30 else: 31 await message.remove_reaction(reaction, user) 32 33 except asyncio.TimeoutError: 34 await message.delete() 35 break
補足情報
Python 3.9.2
Discord.py 1.7.1
vscode 2019
###追記
標準搭載のhelpはNoneにしてあります。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/11 12:01