__version__ = (1, 4, 8, 8)
# This file is a part of Hikka Userbot
# Code is NOT licensed under CC-BY-NC-ND 4.0 unless otherwise specified.
# 🌐 https://github.com/hikariatama/Hikka
# You CAN edit this file without direct permission from the author.
# You can redistribute this file with any modifications.
# meta developer: @yg_modules
# scope: hikka_only
# scope: hikka_min 1.6.3
# █▄█ █░█ █▀▄▀█ █▀▄▀█ █▄█ █▀▄▀█ █▀█ █▀▄ █▀
# ░█░ █▄█ █░▀░█ █░▀░█ ░█░ █░▀░█ █▄█ █▄▀ ▄█
from .. import loader, utils
class NotesMod(loader.Module):
"""Модуль заметок (для каждого чата отдельный список)"""
strings = {"name": "yg_notes"}
async def notecmd(self, message):
"""<текст> добавить новую заметку"""
args = utils.get_args_raw(message)
if not args:
return await message.edit("Пожалуйста, укажи текст заметки 🙀")
try:
notes = await self.get_notes(message)
note_id = len(notes) + 1
notes.append({"id": note_id, "text": args})
await self.save_notes(message, notes)
await message.edit(f"Заметка #{note_id} добавлена 🙀")
except Exception as e:
await message.edit(f"Произошла ошибка: {str(e)}")
async def notescmd(self, message):
"""показать список заметок"""
notes = await self.get_notes(message)
if notes:
text = "🙀 Твои заметки:\n\n"
for note in notes:
text += f"Заметка #{note['id']}: {note['text']}\n\n"
await message.edit(text)
else:
await message.edit("У тебя нет заметок 🙀")
async def delnotecmd(self, message):
"""<# заметки> удалить заметку"""
args = utils.get_args(message)
if not args:
return await message.edit("Пожалуйста, укажи номер заметки для удаления 🙀")
try:
note_id = int(args[0].lstrip("#"))
notes = await self.get_notes(message)
if note_id <= 0 or note_id > len(notes):
return await message.edit("Неправильный номер заметки 🙀")
del notes[note_id - 1]
await self.reorder_notes(message, notes)
await self.save_notes(message, notes)
await message.edit(f"Заметка #{note_id} удалена 🙀")
except Exception as e:
await message.edit(f"Произошла ошибка: {str(e)}")
async def clearnotescmd(self, message):
"""очистить все заметки"""
try:
await self.save_notes(message, [])
await message.edit("Все заметки удалены 🙀")
except Exception as e:
await message.edit(f"Произошла ошибка: {str(e)}")
async def get_notes(self, message):
if not hasattr(message.client, "notes"):
message.client.notes = {}
chat_id = utils.get_chat_id(message)
if chat_id not in message.client.notes:
message.client.notes[chat_id] = []
return message.client.notes[chat_id]
async def save_notes(self, message, notes):
chat_id = utils.get_chat_id(message)
message.client.notes[chat_id] = notes
async def reorder_notes(self, message, notes):
for i, note in enumerate(notes):
note['id'] = i + 1