前提・実現したいこと
pythonでdiscordのbotを作っています。
複数のチャンネルでの投稿内容の概要を1つのチャンネルにまとめるためのbotです。
以下2つの情報がうまく取得できずに困っています。
①投稿者の役職(ロール)のidを取得したい
②ファイルを投稿した時のファイル名又はファイルの拡張子を取得したい
※ファイルが投稿されてない場合は空白でもなんでも構いません。
どちらかでも分かる方がいらっしゃいましたらご回答いただけますと幸いです。
よろしくお願いします。
発生している問題・エラーメッセージ
エラーメッセージではないのですが、取得できたデータに余分なものが多く表示されてしまいます
① ※idのみ取得したい [<Role id=0000000000 name='AAAAA'>] ② ※filenameのみ取得したい [<Attachment id=11111111111111 filename='XXX.png' url='https://XXX.png%27%3E]
該当のソースコード
python
1import discord 2import re 3from discord.ext import tasks 4from datetime import datetime, timezone 5 6intents = discord.Intents.default() # デフォルトのIntentsオブジェクトを生成 7intents.typing = False # typingを受け取らないように 8intents.members = True 9client = discord.Client(intents=intents) 10 11TOKEN = "tokenid" 12# client = discord.Client() # 接続するクライアント 13ch_id = 000000000000000000 14channel = client.get_channel(ch_id1) 15 16# 起動時に動作する処理 17@client.event 18async def on_ready(): 19 # 起動したらターミナルにログイン通知が表示される 20 print('ログインしました') 21 22# メッセージ受信時に動作する処理 23@client.event 24async def on_message(message): 25 26 # メッセージ送信者がBotだった場合は無視する 27 if message.author.bot: 28 return 29 30 # メッセージ内容(投稿者の役職(ロール)id⊥添付ファイル名) 31 if re.match(r".*", message.content): 32 msg = f'{message.author.roles}⊥{message.attachments}' 33 await client.get_channel(ch_id).send(msg) 34 35# Botの起動とDiscordサーバーへの接続 36client.run(TOKEN)
補足情報(FW/ツールのバージョンなど)
win10
python 3.8
pycharm Version 2020.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/25 03:15
2021/02/25 09:11 編集
2021/02/25 09:15
2021/02/25 09:45