# .------.------.------.------.------.------.------.------.------.------. # |D.--. |4.--. |N.--. |1.--. |3.--. |L.--. |3.--. |K.--. |0.--. |0.--. | # | :/\: | :/\: | :(): | :/\: | :(): | :/\: | :(): | :/\: | :/\: | :/\: | # | (__) | :\/: | ()() | (__) | ()() | (__) | ()() | :\/: | :\/: | :\/: | # | '--'D| '--'4| '--'N| '--'1| '--'3| '--'L| '--'3| '--'K| '--'0| '--'0| # `------`------`------`------`------`------`------`------`------`------' # # Copyright 2023 t.me/D4n13l3k00 # Licensed under the Creative Commons CC BY-NC-ND 4.0 # # Full license text can be found at: # https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode # # Human-friendly one: # https://creativecommons.org/licenses/by-nc-nd/4.0 # meta developer: @D4n13l3k00 import os from telethon import functions, types from .. import loader, utils # type: ignore @loader.tds class AvaMod(loader.Module): """Установка/удаление аватарок через команды""" strings = { "name": "AvatarMod", "need_pic": "[Avatar] Нужно фото", "downloading": "[Avatar] Скачиваю", "installing": "[Avatar] Устанавливаю", "deleting": "[Avatar] Удаляю", "ok": "[Avatar] Готово", "no_avatar": "[Avatar] Нету аватарки/ок", } async def avacmd(self, m: types.Message): ".ava - Установить аватар" client = m.client reply = await m.get_reply_message() if not reply and not reply.photo: return await utils.answer(m, self.strings("need_pic")) m = await utils.answer(m, self.strings("downloading")) photo = await client.download_media(message=reply.photo) up = await client.upload_file(photo) m = await utils.answer(m, self.strings("installing")) await client(functions.photos.UploadProfilePhotoRequest(up)) await utils.answer(m, self.strings("ok")) os.remove(photo) async def delavacmd(self, m: types.Message): "Удалить текущую аватарку" client = m.client ava = await client.get_profile_photos("me", limit=1) if len(ava) > 0: m = await utils.answer(m, self.strings("deleting")) await client(functions.photos.DeletePhotosRequest(ava)) await utils.answer(m, self.strings("ok")) else: await utils.answer(m, self.strings("no_avatar")) async def delavascmd(self, m: types.Message): "Удалить все аватарки" client = m.client ava = await client.get_profile_photos("me") if len(ava) > 0: m = await utils.answer(m, self.strings("deleting")) await client( functions.photos.DeletePhotosRequest( await m.client.get_profile_photos("me") ) ) await utils.answer(m, self.strings("ok")) else: await utils.answer(m, self.strings("no_avatar"))