前提・実現したいこと
現在Discord.pyでBotを作っていて、「!who @...」と打つとBotが被メンション者の情報を表示するコマンドを作りたいです。「!who {ユーザーID}」ではできたのですがメンションからユーザーIDを取得する方法が調べても自分ではよく解らなかったので教えていただきたいです。
該当のソースコード
Python
1if msg[:5] == "!who ": 2 user = None 3 if len(msg) == 23:#whoの後がユーザーIDの場合 4 user = await client.fetch_user(int(msg.split()[1])) 5 elif len(msg) >= 6:#whoの後がメンションの場合 6 #ここをどのように記述すればよいか教えていただきたいです。 7 embed = discord.Embed(title = "ユーザー情報", color = 0x0000FF) 8 embed.set_thumbnail(url = user.avatar_url) 9 if not user.bot: 10 embed.add_field(name = "ユーザーID", value = msg.split()[1]) 11 embed.add_field(name = "ユーザー名", value = f"{user.name}#{user.discriminator}") 12 else: 13 embed.add_field(name = "ボットID", value = msg.split()[1]) 14 embed.add_field(name = "ボット名", value = f"{user.name}#{user.discriminator}") 15 embed.add_field(name = "作成日時", value = f"{str(user.created_at)}(UST)", inline = False) 16 await message.channel.send(embed = embed)
試したこと
ユーザーIDからユーザーの情報を取得することはできました。
補足情報(FW/ツールのバージョンなど)
Python 3.8くらい
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/07 12:41