mirror of
https://github.com/dizedev/vk_lp.git
synced 2026-09-17 06:19:03 +00:00
57 lines
2.6 KiB
Python
57 lines
2.6 KiB
Python
from vkbottle import VKAPIError
|
|
from vkbottle.user import Message, UserLabeler
|
|
|
|
from config import edit_message, prefix_bot, user
|
|
from custom_rules.permission import Permission
|
|
|
|
bl = UserLabeler()
|
|
|
|
|
|
@bl.message(Permission(), text=[prefix_bot + " +др"])
|
|
async def add_to_friends_cmd(ctx: Message):
|
|
if not ctx.reply_message:
|
|
await ctx.answer("❗ Ошибка при выполнении, необходимо пересланное сообщение")
|
|
return
|
|
|
|
friend_id = ctx.reply_message.from_id
|
|
|
|
try:
|
|
await user.api.friends.add(user_id=friend_id)
|
|
await edit_message(ctx, "✅ Все отлично, запрос отправлен")
|
|
except Exception as e:
|
|
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(ctx, f"❗ Невозможно добавить в друзья пользователя: {e.message}")
|
|
|
|
|
|
@bl.message(Permission(), text=[prefix_bot + " -др"])
|
|
async def remove_from_friends_cmd(ctx: Message):
|
|
if not ctx.reply_message:
|
|
await edit_message(ctx, "❗ Ошибка при выполнении, необходимо пересланное сообщение")
|
|
return
|
|
|
|
friend_id = ctx.reply_message.from_id
|
|
response = await user.api.friends.delete(user_id=friend_id)
|
|
|
|
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(ctx, "❗ Произошла ошибка")
|