From a882198ec23410a599ea0a5de1745177484a547a Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 2 Nov 2023 00:34:55 +0700 Subject: [PATCH] many fixes --- routes/add_friend.py | 70 +++++++++++++++++++++++------------------- routes/delete_msg.py | 12 ++++---- routes/game_handler.py | 4 +-- routes/not_command.py | 8 +++-- routes/ping.py | 23 +++++--------- routes/profile.py | 16 ++++++---- utils.py | 14 +++++++++ 7 files changed, 84 insertions(+), 63 deletions(-) diff --git a/routes/add_friend.py b/routes/add_friend.py index 3201e50..1507a01 100644 --- a/routes/add_friend.py +++ b/routes/add_friend.py @@ -1,48 +1,56 @@ +from vkbottle import VKAPIError +from vkbottle.user import Message, UserLabeler + +from config import edit_message, prefix_bot, user from custom_rules.permission import Permission -from vkbottle.user import Message -from config import bl, edit_message, prefix_bot, user + +bl = UserLabeler() @bl.message(Permission(), text=[prefix_bot + " +др"]) -async def add_to_fr(message: Message): - if not message.reply_message: - await message.answer("❗ Ошибка при выполнении, необходимо пересланное сообщение") +async def add_to_friends_cmd(ctx: Message): + if not ctx.reply_message: + await ctx.answer("❗ Ошибка при выполнении, необходимо пересланное сообщение") return - friend_id = message.reply_message.from_id + friend_id = ctx.reply_message.from_id + try: await user.api.friends.add(user_id=friend_id) - await edit_message(message, "✅ Все отлично, запрос отправлен") + await edit_message(ctx, "✅ Все отлично, запрос отправлен") except Exception as e: - if e.code == 174: - await edit_message(message, "❗ Невозможно добавить в друзья самого себя") - elif e.code == 175: - await edit_message(message, "❗ Невозможно добавить в друзья пользователя, который занес Вас в свой черный список") - elif e.code == 176: - await edit_message(message, "❗ Невозможно добавить в друзья пользователя, который занесен в Ваш черный список") + if VKAPIError[174]: + await edit_message(ctx, "❗ Невозможно добавить в друзья самого себя") + elif VKAPIError[175]: + await edit_message(ctx, + "❗ Невозможно добавить в друзья пользователя, который занес Вас в свой черный список") + elif VKAPIError[176]: + await edit_message(ctx, + "❗ Невозможно добавить в друзья пользователя, который занесен в Ваш черный список") else: - await edit_message(message, f"❗ Невозможно добавить в друзья пользователя: {e.message}") + await edit_message(ctx, f"❗ Невозможно добавить в друзья пользователя: {e.message}") @bl.message(Permission(), text=[prefix_bot + " -др"]) -async def remove_from_fr(message: Message): - if not message.reply_message: - await edit_message(message, "❗ Ошибка при выполнении, необходимо пересланное сообщение") +async def remove_from_friends_cmd(ctx: Message): + if not ctx.reply_message: + await edit_message(ctx, "❗ Ошибка при выполнении, необходимо пересланное сообщение") return - friend_id = message.reply_message.from_id - + friend_id = ctx.reply_message.from_id response = await user.api.friends.delete(user_id=friend_id) - if response.success: - if response.friend_deleted: - await edit_message(message, "✅ Друг удален") - elif response.out_request_deleted: - await edit_message(message, "✅ Отменена исходящая заявка") - elif response.in_request_deleted: - await edit_message(message, "✅ Отклонена входящая заявка") - elif response.suggestion_deleted: - await edit_message(message, "✅ Отклонена рекомендация друга") - else: - await edit_message(message, "❗ Произошла ошибка") + + if not response.success: + await edit_message(ctx, "❗ Произошла ошибка при удалении друга") + return + + if response.friend_deleted: + await edit_message(ctx, "✅ Друг удален") + elif response.out_request_deleted: + await edit_message(ctx, "✅ Отменена исходящая заявка") + elif response.in_request_deleted: + await edit_message(ctx, "✅ Отклонена входящая заявка") + elif response.suggestion_deleted: + await edit_message(ctx, "✅ Отклонена рекомендация друга") else: - await edit_message(message, "❗ Произошла ошибка при удалении друга") + await edit_message(ctx, "❗ Произошла ошибка") diff --git a/routes/delete_msg.py b/routes/delete_msg.py index 772450a..50dbc4c 100644 --- a/routes/delete_msg.py +++ b/routes/delete_msg.py @@ -22,12 +22,12 @@ DD_SCRIPT = ( Permission(), text=[prefix_dd + " "], ) -async def dd_handler(message: Message, count: int = 2): +async def dd_cmd(ctx: Message, count: int = 2): await user.api.execute( DD_SCRIPT % ( count, - message.peer_id, - message.from_id, + ctx.peer_id, + ctx.from_id, int(datetime.datetime.now().timestamp()) ) ) @@ -37,14 +37,14 @@ async def dd_handler(message: Message, count: int = 2): Permission(), text=[prefix_dd + " все", prefix_dd + " всё"], ) -async def dd_all_handler(message: Message): +async def dd_all_cmd(ctx: Message): count = 1000 await user.api.execute( DD_SCRIPT % ( count, - message.peer_id, - message.from_id, + ctx.peer_id, + ctx.from_id, int(datetime.datetime.now().timestamp()) ) ) diff --git a/routes/game_handler.py b/routes/game_handler.py index c97e1fd..bfbada5 100644 --- a/routes/game_handler.py +++ b/routes/game_handler.py @@ -12,7 +12,7 @@ bl = UserLabeler() Permission(), text=[prefix_bot + " игра"], ) -async def game_cmd(message: Message): +async def game_cmd(ctx: Message): loader = ( '⬜⬜⬜⬜⬜⬜⬜⬜⬛⬛⬜⬜⬜⬜⬜⬜⬜', """ @@ -85,5 +85,5 @@ async def game_cmd(message: Message): ) for new_text in loader: - await edit_message(message, new_text) + await edit_message(ctx, new_text) await asyncio.sleep(1) diff --git a/routes/not_command.py b/routes/not_command.py index d5dc59d..1d92798 100644 --- a/routes/not_command.py +++ b/routes/not_command.py @@ -1,9 +1,11 @@ +from vkbottle.user import Message, UserLabeler + +from config import edit_message, prefix_bot from custom_rules.permission import Permission -from vkbottle.user import Message -from config import bl, edit_message, prefix_bot + +bl = UserLabeler() @bl.message(Permission(), text=prefix_bot + " ") async def wrapper(message: Message): await edit_message(message, "Такой команды не существует") - diff --git a/routes/ping.py b/routes/ping.py index 1e15122..fe0b0c3 100644 --- a/routes/ping.py +++ b/routes/ping.py @@ -1,22 +1,15 @@ +from vkbottle.user import Message, UserLabeler + +import utils +from config import edit_message, prefix_bot from custom_rules.permission import Permission -from vkbottle.user import Message -from config import bl, edit_message, prefix_bot -import time - -async def get_ping(message: Message, answer: str) -> str: - delta = round(time.time() - message.date, 2) - - if delta < 0: - delta = "666" - - return f"{answer} Модуль Impulse LP\n" \ - f"Ответ через {delta} с" +bl = UserLabeler() @bl.message(Permission(), text=[prefix_bot + " пинг"]) -async def ping_(message: Message): +async def ping_cmd(ctx: Message): await edit_message( - message, - await get_ping(message, "ПОНГ") + ctx, + await utils.ping(ctx, "ПОНГ") ) diff --git a/routes/profile.py b/routes/profile.py index 8344233..06ae4eb 100644 --- a/routes/profile.py +++ b/routes/profile.py @@ -1,16 +1,20 @@ -from custom_rules.permission import Permission -from vkbottle.user import Message -from config import bl, edit_message, prefix_bot, prefix_dd -from utils import rewards_list import time +from vkbottle.user import Message, UserLabeler + +from config import edit_message, prefix_bot, prefix_dd +from custom_rules.permission import Permission +from utils import rewards + +bl = UserLabeler() + @bl.message(Permission(), text=[prefix_bot + " профиль"]) -async def get_profile(message: Message): +async def get_profile_cmd(message: Message): delta = round(time.time() - message.date, 2) if delta < 0: delta = "666" await edit_message(message, - f"Твой профиль:\n\n Название бота: Impulse LP\n Твоя версия: None\n Твои достижения: {rewards_list[1]}️\n Твой префикс: {prefix_bot}\n Твой префикс дд: {prefix_dd}\n Твой пинг: {delta}") + f"Твой профиль:\n\n Название бота: Impulse LP\n Твоя версия: None\n Твои достижения: {rewards[1]}️\n Твой префикс: {prefix_bot}\n Твой префикс дд: {prefix_dd}\n Твой пинг: {delta}") diff --git a/utils.py b/utils.py index 5132ce3..077d53a 100644 --- a/utils.py +++ b/utils.py @@ -1,3 +1,7 @@ +import time + +from vkbottle.user import Message + rewards = { "discoverer": "Первооткрыватель", "creator": "Создатель", @@ -8,3 +12,13 @@ rewards = { } next_line_symbol = "\n" + + +async def ping(message: Message, answer: str) -> str: + delta = round(time.time() - message.date, 2) + + if delta < 0: + delta = "666" + + return f"{answer} Модуль Impulse LP\n" \ + f"Ответ через {delta} с"