fix(rmenus): Update msg data from origin message.
This commit is contained in:
@@ -126,6 +126,7 @@ async def rolemenu_ctxcmd(interaction: discord.Interaction, message: discord.Mes
|
||||
else:
|
||||
menu = await RoleMenu.fetch(self.bot, menuid)
|
||||
menu._message = message
|
||||
await menu.update_raw()
|
||||
|
||||
# Open the editor
|
||||
editor = MenuEditor(self.bot, menu, callerid=interaction.user.id)
|
||||
@@ -895,6 +896,7 @@ class RoleMenuCog(LionCog):
|
||||
)).format(name=name)
|
||||
)
|
||||
await target.fetch_message()
|
||||
await target.update_raw()
|
||||
|
||||
# Parse provided options
|
||||
reposting = channel is not None
|
||||
|
||||
@@ -192,6 +192,20 @@ class RoleMenu:
|
||||
self._message = _message
|
||||
return self._message
|
||||
|
||||
async def update_raw(self):
|
||||
"""
|
||||
Updates the saved raw message data for non-owned menus.
|
||||
"""
|
||||
message = await self.fetch_message()
|
||||
if not self.managed and message is not None:
|
||||
message_data = {}
|
||||
message_data['content'] = message.content
|
||||
if message.embeds:
|
||||
message_data['embed'] = message.embeds[0].to_dict()
|
||||
rawmessage = json.dumps(message_data)
|
||||
if rawmessage != self.data.rawmessage:
|
||||
await self.data.update(rawmessage=rawmessage)
|
||||
|
||||
def emoji_map(self):
|
||||
emoji_map = {}
|
||||
for mrole in self.roles:
|
||||
|
||||
@@ -1144,3 +1144,4 @@ class MenuEditor(MessageUI):
|
||||
self.pagen = self.pagen % self.page_count
|
||||
self.page_block = blocks[self.pagen]
|
||||
await self.menu.fetch_message()
|
||||
await self.menu.update_raw()
|
||||
|
||||
Reference in New Issue
Block a user