# `7MMM. ,MMF'`7MMM. ,MMF' `7MMM. ,MMF' `7MM # MMMb dPMM MMMb dPMM MMMb dPMM MM # M YM ,M MM M YM ,M MM M YM ,M MM ,pW"Wq. ,M""bMM ,pP"Ybd # M Mb M' MM M Mb M' MM M Mb M' MM 6W' `Wb ,AP MM 8I `" # M YM.P' MM M YM.P' MM mmmmm M YM.P' MM 8M M8 8MI MM `YMMMa. # M `YM' MM M `YM' MM M `YM' MM YA. ,A9 `Mb MM L. I8 # .JML. `' .JMML..JML. `' .JMML. .JML. `' .JMML.`Ybmd9' `Wbmd"MML.M9mmmP' # # (c) 2023 — licensed under Apache 2.0 — https://www.apache.org/licenses/LICENSE-2.0 # meta pic: https://img.icons8.com/emoji/344/mechanical-arm.png # meta developer: @mm_mods __version__ = "1.0.3" from .. import loader, utils from telethon.tl.types import Message, PeerChannel, ChannelParticipantsAdmins import logging logger = logging.getLogger(__name__) @loader.tds class RechteMod(loader.Module): """Group rights viewer and manager.""" strings = { "name": "Rechte", "group?!": "👥 This command must be used in group.", "rightslist": "📜 Group members rights:", "on": "👤 Now only admins can {}.", "off": "🤖 Now all members can {}.", "status-on": "👤❕ Only admins can {} here.", "status-off": "🤖❕ All members can {} here.", "rights?!": "😔 Error….\nCode: {}", "adminslist": "👥 Group admins:", "loading": "🔄 Loading….", 'send-right': 'send messages', 'ib-right': 'use inline bots', 'media-right': 'send media', 'stickers-right': 'send stickers', 'gifs-right': 'send GIFs', 'games-right': 'send games', 'embed-right': 'send links preview', 'polls-right': 'send polls', 'info-right': 'change chat info', 'invite-right': 'invite users', 'pin-right': 'pin messages', 'addadmin-right': 'add admins', 'anonymous-right': 'send anonymous messages', 'ban-right': 'ban users', 'delete-right': 'delete messages', 'edit-right': 'edit messages', 'call-management-right': 'manage voice chats', 'is-banned': '🚫 User is banned.', 'is-left': '🚫 User left the chat.', 'is-admin': '👤 User is admin.', 'is-creator': '👤 User is creator.', 'default': '⭕ User have default permissions.', } strings_ru = { "name": "Rechte", "group?!": "👥 Работает лишь в группах.", "rightslist": "📜 Права участников группы:", "on": "👤 Теперь лишь админы могут {}.", "off": "🤖 Теперь все могут {}.", "status-on": "👤❕ Здесь лишь админы могут {}.", "status-off": "🤖❕ Здесь все могут {}.", "rights?!": "😔 Ошибка…\nКод: {}", "adminslist": "👥 Админы группы:", "loading": "🔄 Загрузка…", 'send-right': 'отправлять сообщения', "_cls_doc": "Переключает и проверяет права.", "_cmd_doc_switchsend": "Переключает права на отправку сообщений", "_cmd_doc_checksend": "Проверяет права на отправку сообщений", "_cmd_doc_checkib": "Проверяет права на использование инлайн-ботов.", "_cmd_doc_switchib": "Переключает права на использование инлайн-ботов", "_cmd_doc_switchmedia": "Переключает права на отправку медиа", "_cmd_doc_checkmedia": "Проверяет права на отправку медиа", "_cmd_doc_switchstickers": "Переключает права на отправку стикеров", "_cmd_doc_checkstickers": "Проверяет права на отправку стикеров", "_cmd_doc_switchgifs": "Переключает права на отправку GIF", "_cmd_doc_checkgifs": "Проверяет права на отправку GIF", "_cmd_doc_switchgames": "Переключает права на отправку игр", "_cmd_doc_checkgames": "Проверяет права на отправку игр", "_cmd_doc_switchembed": "Переключает права на отправку предпросмотра ссылок", "_cmd_doc_checkembed": "Проверяет права на отправку предпросмотра ссылок", "_cmd_doc_switchpolls": "Переключает права на отправку опросов", "_cmd_doc_checkpolls": "Проверяет права на отправку опросов", "_cmd_doc_switchinfo": "Переключает права на изменение информации чата", "_cmd_doc_checkinfo": "Проверяет права на изменение информации чата", "_cmd_doc_switchinvite": "Переключает права на приглашение пользователей", "_cmd_doc_checkinvite": "Проверяет права на приглашение пользователей", "_cmd_doc_switchpin": "Переключает права на закрепление сообщений", "_cmd_doc_checkpin": "Проверяет права на закрепление сообщений", "_cmd_doc_checkall": "Выдаёт список прав обычных учаcтников", "_cmd_doc_checkadmins": "Выдаёт список админов", 'ib-right': 'использовать инлайн-ботов', 'media-right': 'отправлять медиа', 'stickers-right': 'отправлять стикеры', 'gifs-right': 'отправлять GIF', 'games-right': 'отправлять игры', 'embed-right': 'отправлять предпросмотр ссылок', 'polls-right': 'отправлять опросы', 'info-right': 'менять информацию о чате', 'invite-right': 'приглашать пользователей', 'pin-right': 'закреплять сообщения', 'addadmin-right': 'добавлять администраторов', 'anonymous-right': 'отправлять анонимные сообщения', 'ban-right': 'банить пользователей', 'delete-right': 'удалять сообщения', 'edit-right': 'редактировать сообщения', 'call-management-right': 'управлять звонками', 'is-banned': '🚫 Пользователь забанен.', 'is-left': '🚫 Пользователь покинул чат.', 'is-admin': '👤 Пользователь — администратор.', 'is-creator': '👤 Пользователь — создатель.', 'default': '⭕ У пользователя стандартные права.', } strings_de = { "name": "Rechte", "group?!": "👥 Funktioniert nur in Gruppen.", "rightslist": "📜 Gruppenmitgliedern Rechteliste:", "on": "👤 Nun können nur Admins {}.", "off": "🤖 Nun können alle {}.", "status-on": "👤❕ Hier können nur Admins {}.", "status-off": "🤖❕ Hier können alle {}.", "rights?!": "😔 Fehler…\nCode: {}", "adminslist": "👥 Adminsliste:", "loading": "🔄 Wird geladen…", "_cls_doc": "Schaltet und überprüft Rechte.", "_cmd_doc_switchsend": "Schaltet das Senden von Nachrichten", "_cmd_doc_checksend": "Überprüft das Senden von Nachrichten", "_cmd_doc_switchib": "Schaltet Rechte für Inline-Bots um", "_cmd_doc_checkib": "Überprüft Rechte für Inline-Bots", "_cmd_doc_switchmedia": "Schaltet Rechte für Medien um", "_cmd_doc_checkmedia": "Überprüft Rechte für Medien", "_cmd_doc_switchstickers": "Schaltet Rechte für Sticker um", "_cmd_doc_checkstickers": "Überprüft Rechte für Sticker", "_cmd_doc_switchgif": "Schaltet Rechte für GIF um", "_cmd_doc_checkgif": "Überprüft Rechte für GIF", "_cmd_doc_switchgames": "Schaltet Rechte für Spiele um", "_cmd_doc_checkgames": "Überprüft Rechte für Spiele", "_cmd_doc_switchembed": "Schaltet Rechte für Vorschau von Links um", "_cmd_doc_checkembed": "Überprüft Rechte für Vorschau von Links", "_cmd_doc_switchpolls": "Schaltet Rechte für Umfragen um", "_cmd_doc_checkpolls": "Überprüft Rechte für Umfragen", "_cmd_doc_switchinfo": "Schaltet Rechte für Info-Änderungen um", "_cmd_doc_checkinfo": "Überprüft Rechte für Info-Änderungen", "_cmd_doc_switchinvite": "Schaltet Rechte für Einladungen um", "_cmd_doc_checkinvite": "Überprüft Rechte für Einladungen", "_cmd_doc_switchpin": "Schaltet Rechte für das Anheften von Nachrichten um", "_cmd_doc_checkpin": "Überprüft Rechte für das Anheften von Nachrichten", "_cmd_doc_checkall": "Sendet eine List von alle Rechte des Benutzers", "_cmd_doc_checkadmins": "Sendet eine Liste von allen Admins", 'ib-right': 'Inline-Bots verwenden', 'media-right': 'Medien senden', 'stickers-right': 'Sticker senden', 'gifs-right': 'GIF senden', 'games-right': 'Spiele senden', 'embed-right': 'Vorschau von Links senden', 'polls-right': 'Umfragen senden', 'info-right': 'Gruppeninformationen ändern', 'invite-right': 'Benutzer einladen', 'pin-right': 'Nachrichten anheften', 'addadmin-right': 'Admins hinzufügen', 'anonymous-right': 'Anonyme Nachrichten senden', 'ban-right': 'Benutzer bannen', 'delete-right': 'Nachrichten löschen', 'edit-right': 'Nachrichten bearbeiten', 'call-management-right': 'Anrufe verwalten', 'is-banned': '🚫 Benutzer ist gebannt.', 'is-left': '🚫 Benutzer hat den Chat verlassen.', 'is-admin': '👤 Benutzer ist ein Admin.', 'is-creator': '👤 Benutzer ist der Inhaber.', 'default': '⭕ Benutzer hat Standardrechte.', } async def switchibcmd(self, m: Message): """Switches inline bots using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_inline: try: await m.client.edit_permissions(utils.get_chat_id(m), send_inline=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('ib-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), send_inline=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('ib-right'))) async def checkibcmd(self, m: Message): """Checks inline bots using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_inline: return await utils.answer(m, self.strings('status-off').format(self.strings('ib-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('ib-right'))) async def switchsendcmd(self, m: Message): """Switches sending messages rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_messages: try: await m.client.edit_permissions(utils.get_chat_id(m), send_messages=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('send-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), send_messages=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('send-right'))) async def checksendcmd(self, m: Message): """Checks sending messages rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_messages: return await utils.answer(m, self.strings('status-off').format(self.strings('send-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('send-right'))) async def switchmediacmd(self, m: Message): """Switches media using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_media: try: await m.client.edit_permissions(utils.get_chat_id(m), send_media=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on')) else: try: await m.client.edit_permissions(utils.get_chat_id(m), send_media=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off')) async def checkmediacmd(self, m: Message): """Checks media using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_media: return await utils.answer(m, self.strings('status-off').format(self.strings('media-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('media-right'))) async def switchstickerscmd(self, m: Message): """Switches stickers using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_stickers: try: await m.client.edit_permissions(utils.get_chat_id(m), send_stickers=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('stickers-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), send_stickers=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('stickers-right'))) async def checkstickerscmd(self, m: Message): """Checks stickers using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_stickers: return await utils.answer(m, self.strings('status-off').format(self.strings('stickers-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('stickers-right'))) async def switchgifscmd(self, m: Message): """Switches gifs using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_gifs: try: await m.client.edit_permissions(utils.get_chat_id(m), send_gifs=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('gifs-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), send_gifs=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('gifs-right'))) async def checkgifscmd(self, m: Message): """Checks gifs using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_gifs: return await utils.answer(m, self.strings('status-off').format(self.strings('gifs-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('gifs-right'))) async def switchgamescmd(self, m: Message): """Switches games using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_games: try: await m.client.edit_permissions(utils.get_chat_id(m), send_games=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('games-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), send_games=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('games-right'))) async def checkgamescmd(self, m: Message): """Checks games using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_games: return await utils.answer(m, self.strings('status-off').format(self.strings('games-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('games-right'))) async def switchembedcmd(self, m: Message): """Switches links preview using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).embed_links: try: await m.client.edit_permissions(utils.get_chat_id(m), embed_links=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('embed-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), embed_links=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('embed-right'))) async def checkembedcmd(self, m: Message): """Checks links preview using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).embed_links: return await utils.answer(m, self.strings('status-off').format(self.strings('embed-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('embed-right'))) async def switchpollscmd(self, m: Message): """Switches polls using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_polls: try: await m.client.edit_permissions(utils.get_chat_id(m), send_polls=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('polls-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), send_polls=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('polls-right'))) async def checkpollscmd(self, m: Message): """Checks polls using rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).send_polls: return await utils.answer(m, self.strings('status-off').format(self.strings('polls-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('polls-right'))) async def switchinfocmd(self, m: Message): """Switches info changing rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).change_info: try: await m.client.edit_permissions(utils.get_chat_id(m), change_info=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('info-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), check_info=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('info-right'))) async def checkinfocmd(self, m: Message): """Checks info changing rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).change_info: return await utils.answer(m, self.strings('status-off').format(self.strings('info-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('info-right'))) async def switchinvitecmd(self, m: Message): """Switches invite rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).invite_users: try: await m.client.edit_permissions(utils.get_chat_id(m), invite_users=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('invite-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), invite_users=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('invite-right'))) async def checkinvitecmd(self, m: Message): """Checks invite rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).invite_users: return await utils.answer(m, self.strings('status-off').format(self.strings('invite-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('invite-right'))) async def switchpincmd(self, m: Message): """Switches pin message rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).pin_messages: try: await m.client.edit_permissions(utils.get_chat_id(m), pin_messages=False) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('on').format(self.strings('pin-right'))) else: try: await m.client.edit_permissions(utils.get_chat_id(m), pin_messages=True) except Exception as e: return await utils.answer(m, self.strings('rights?!').format(e)) return await utils.answer(m, self.strings('off').format(self.strings('pin-right'))) async def checkpincmd(self, m: Message): """Checks pin message rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) if not (await m.client.get_permissions(utils.get_chat_id(m))).pin_messages: return await utils.answer(m, self.strings('status-off').format(self.strings('pin-right'))) else: return await utils.answer(m, self.strings('status-on').format(self.strings('pin-right'))) async def checkallcmd(self, m: Message): """Shows all rights.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) await utils.answer(m, self.strings('loading')) listr = f"{self.strings('rightslist')}\n\n" if (await m.client.get_permissions(utils.get_chat_id(m))).send_messages != True: listr += '' + self.strings('send-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('send-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).send_media != True: listr += '' + self.strings('media-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('media-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).send_stickers != True: listr += '' + self.strings('stickers-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('stickers-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).send_gifs != True: listr += '' + self.strings('gifs-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('gifs-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).send_games != True: listr += '' + self.strings('games-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('games-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).send_inline != True: listr += '' + self.strings('ib-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('ib-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).embed_links != True: listr += '' + self.strings('embed-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('embed-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).send_polls != True: listr += '' + self.strings('polls-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('polls-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).change_info != True: listr += '' + self.strings('info-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('info-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).invite_users != True: listr += '' + self.strings('invite-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('invite-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m))).pin_messages != True: listr += '' + self.strings('pin-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('pin-right').capitalize() + ': ❌\n' return await utils.answer(m, listr) async def checkadminscmd(self, m: Message): """Shows admins.""" if not isinstance(m.peer_id, PeerChannel): return await utils.answer(m, self.strings('group?!')) await utils.answer(m, self.strings('loading')) listr = f"{self.strings('adminslist')}\n" async for user in m.client.iter_participants(utils.get_chat_id(m), filter=ChannelParticipantsAdmins): listr += f"\n{user.first_name} {user.last_name if user.last_name is not None else ''} ({user.id})\n" if (await m.client.get_permissions(utils.get_chat_id(m), user.id)).is_creator == True: listr += self.strings('is-creator') + '\n' if (await m.client.get_permissions(utils.get_chat_id(m), user.id)).add_admins == True: listr += '' + self.strings('addadmin-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('addadmin-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m), user.id)).ban_users == True: listr += '' + self.strings('ban-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('ban-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m), user.id)).delete_messages == True: listr += '' + self.strings('delete-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('delete-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m), user.id)).anonymous == True: listr += '' + self.strings('anonymous-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('anonymous-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m), user.id)).manage_call == True: listr += '' + self.strings('call-management-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('call-management-right').capitalize() + ': ❌\n' if (await m.client.get_permissions(utils.get_chat_id(m), user.id)).pin_messages == True: listr += '' + self.strings('pin-right').capitalize() + ': ✅\n' else: listr += '' + self.strings('pin-right').capitalize() + ': ❌\n' return await utils.answer(m, listr)