From eb68fe325959752ab83fd93b8c481cb1dde8431a Mon Sep 17 00:00:00 2001 From: "green." <41323182+gweeeen@users.noreply.github.com> Date: Fri, 21 Jun 2024 21:11:29 +0200 Subject: [PATCH] revolt reactions support --- cogs/bridge.py | 56 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 17 deletions(-) diff --git a/cogs/bridge.py b/cogs/bridge.py index ade4a83f..0a2ae4d0 100644 --- a/cogs/bridge.py +++ b/cogs/bridge.py @@ -148,29 +148,33 @@ async def fetch_url(self, guild_id): async def add_reaction(self, emoji, userid): userid = str(userid) + platform = 'revolt' if emoji.startswith(' x + (page * limit): index = x + (page * limit) - emoji = nextcord.PartialEmoji.from_str(list(msg.reactions.keys())[x + (page * limit)]) - if emoji.is_unicode_emoji(): - name = pymoji.demojize(emoji.name, delimiters=('','')) - if type(name) is list: - name = name[0] if len(name) > 0 else 'unknown' + platform = 'discord' + if list(msg.reactions.keys())[x + (page * limit)].startswith(' 0 else 'unknown' + else: + name = emoji.name else: - name = emoji.name + name = list(msg.reactions.keys())[x + (page * limit)].split(':')[1] if not name: name = 'unknown' selection.add_option( label=f':{name}:', - emoji=list(msg.reactions.keys())[x + (page * limit)], + emoji=list(msg.reactions.keys())[x + (page * limit)] if not name=='unknown' and platform=='discord' else None, value=f'{x}', default=x + (page * limit)==index, description=f'{len(msg.reactions[list(msg.reactions.keys())[x + (page * limit)]].keys())} reactions' @@ -2422,9 +2433,20 @@ async def reactions_ctx(self, interaction, msg: nextcord.Message): embed.description = f'No reactions yet!' else: for user in list(msg.reactions[list(msg.reactions.keys())[index]].keys()): - userobj = self.bot.get_user(int(user)) + platform = msg.reactions[list(msg.reactions.keys())[index]][user][1] + userobj = None + if platform=='discord': + userobj = self.bot.get_user(int(user)) + elif platform=='revolt': + try: + userobj = self.bot.revolt_client.get_user(user) + except: + pass if userobj: - users.append(f'@{userobj.global_name if userobj.global_name else userobj.name}') + if platform=='discord': + users.append(f'@{userobj.global_name if userobj.global_name else userobj.name}') + elif platform=='revolt': + users.append(f'@{userobj.display_name if userobj.display_name else userobj.name}') else: users.append('@[unknown]') embed.description = f'# {list(msg.reactions.keys())[index]}\n' + ('\n'.join(users))