From 470172e43f3fb5c5aea2195fe8f4e7b76abc8190 Mon Sep 17 00:00:00 2001 From: dize_dev Date: Wed, 1 Nov 2023 18:09:56 +0600 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20v0.5.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/__init__.py | 4 ++-- routes/add_friend.py | 48 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 routes/add_friend.py diff --git a/routes/__init__.py b/routes/__init__.py index f020dee..0fbb3b6 100644 --- a/routes/__init__.py +++ b/routes/__init__.py @@ -1,3 +1,3 @@ -from . import game_handler, deletedmsg, info_bot, rewards, ping +from . import game_handler, delete_msg, info_bot, rewards, ping, profile, add_friend -labelers = [game_handler.bl, deletedmsg.bl, info_bot.bl, rewards.bl, ping.bl] +labelers = [game_handler.bl, delete_msg.bl, info_bot.bl, rewards.bl, ping.bl, profile.bl, add_friend.bl] diff --git a/routes/add_friend.py b/routes/add_friend.py new file mode 100644 index 0000000..3201e50 --- /dev/null +++ b/routes/add_friend.py @@ -0,0 +1,48 @@ +from custom_rules.permission import Permission +from vkbottle.user import Message +from config import bl, edit_message, prefix_bot, user + + +@bl.message(Permission(), text=[prefix_bot + " +др"]) +async def add_to_fr(message: Message): + if not message.reply_message: + await message.answer("❗ Ошибка при выполнении, необходимо пересланное сообщение") + return + + friend_id = message.reply_message.from_id + try: + await user.api.friends.add(user_id=friend_id) + await edit_message(message, "✅ Все отлично, запрос отправлен") + 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, "❗ Невозможно добавить в друзья пользователя, который занесен в Ваш черный список") + else: + await edit_message(message, 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, "❗ Ошибка при выполнении, необходимо пересланное сообщение") + return + + friend_id = message.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, "❗ Произошла ошибка") + else: + await edit_message(message, "❗ Произошла ошибка при удалении друга")