実現したいこと
PythonでDiscord botから特定のユーザー名のユーザーにDMを送りたい
前提
Replit上でDiscordAPIを使って開発しています。
ユーザ名#0000の、名前部分かdiscriminator(番号部分)からIDを取得しようとしています。
このユーザーにDMを送るためにIDが必要なのですがdiscord.utils.get()に入れてもBOT自身しか取り出せず、
client.get_all_members()などリスト化し呼び出す関数がBOTのみを取得し他のユーザーを取得できていないようです。
Pythonを触り始めて連日なのですが、8時間ほどこの問題に費やし参っております…
表記に誤りがあったので再度投稿します申し訳ないです。
発生している問題・エラーメッセージ
エラーではないが、printされるもの サーバー名 None <generator object Client.get_all_members at 0x7f841a77f220> サーバー名 SequenceProxy(dict_values([<Member id=1072703594752643083 name='TEST BOT' discriminator='0511' bot=True nick=None guild=<Guild id=1079339018992496640 name='サーバー名' shard_id=0 chunked=False member_count=6>>])) [<ClientUser id=1072703594752643083 name='TEST BOT' discriminator='0511' bot=True verified=True mfa_enabled=True>] SequenceProxy(dict_values([<Member id=1072703594752643083 name='TEST INT' discriminator='0511' bot=True nick=None guild=<Guild id=1079339018992496640 name='サーバー名' shard_id=0 chunked=False member_count=6>>])) 一般
該当のソースコード
python
1@client.event2async def on_raw_reaction_add(payload):3 4 guild = client.get_guild(payload.guild_id)5 print(guild)6 member = guild.get_member(payload.user_id)7 print(member)8 print(client.get_all_members())9 print(guild)10 print(guild.members)11 print(client.users)12 channel = client.get_channel(payload.channel_id)13 print(channel.guild.members)14 15 channel = client.get_channel(payload.channel_id)16 print(channel)
試したこと
ここに書いたものはすべて試したのですが、
async def on_raw_reaction_add(payload):以外、on messageなどはどうか?と試したのですが同じ出力結果でした…
補足情報(FW/ツールのバージョンなど)
Replit
Python
0 コメント