discord.TextChannel.last_message
TextChannel クラスの last_message プロパティから取得できます。 取得できると Message を返し、出来なかった場合は None を返します。
None が返される例としては、メッセージがキャッシュにない場合などです。
サンプルコード
以下は /last_msg
というコマンドを打った時、
指定したチャンネルの最後のメッセージの内容を取得するコードです。
@client.event
async def on_message(message):
# /last_msg チャンネル名 というコマンドで反応する
if message.content.startswith('/last_msg'):
channel_name = message.content.replace('/last_msg ', '')
# 指定したチャンネルを取得する
channel = discord.utils.get(message.guild.channels, name=channel_name)
# 取得したチャンネルの最後のメッセージを取得する
last_msg = await channel.fetch_message(channel.last_message_id)
# 取得したメッセージの内容を取得する
last_msg_content = last_msg.content
# 取得できなかった時は None が返されます
# チャンネルに送信
await message.channel.send(f'**{channel}**に送られた最後のメッセージ : {last_msg_content}')
Share this post
Twitter