我想知道是否有一种方法可以使用Python Discord机器人从消息链接(https://discordapp.com/channels/guild_id/channel_id/message_id)中获取消息,如果可以,怎么办。 我可以想到一种使用
的方法link = 'https://discordapp.com/channels/guild_id/channel_id/message_id'.split('/')
message = await self.bot.get_guild(int(link[-3])).get_channel(int(link[-2])).fetch_message(int(link[-1]))
但是我想知道是否还有更直接的方法。 预先感谢!
答案 0 :(得分:0)
为此,您首先应该通过执行以下操作获得行会,频道和消息ID:
server_id = int(link[4])
channel_id = int(link[6])
msg_id = int(link[5])
接下来,您应该使用漫游器获取公会对象,然后使用公会对象获取文本通道对象,最后使用文本通道对象获取消息对象。像这样:
server = client.get_guild(server_id)
channel = server.get_channel(channel_id)
message = await channel.fetch_message(msg_id)
discord.py get_guild()
参考:https://discordpy.readthedocs.io/en/latest/api.html#discord.Client.get_guild
discord.py get_channel()
参考:https://discordpy.readthedocs.io/en/latest/api.html#discord.Guild.get_channel
discord.py fetch_message()
参考:https://discordpy.readthedocs.io/en/latest/api.html#discord.abc.Messageable.fetch_message