from vkbottle.user import User, Message
import re, asyncio
from vkbottle import VKAPIError
import mysql.connector
import random
from random import randint
#from roles_vk import Permission
from loguru import logger
from config import settings
import requests
import os
import json
logger.remove()
user = User(token='')
@user.on.message(text=[".invite", ".invite <argument>", ".invite <argument> <user_link>"])
async def invite_user_to_chats(message: Message, argument: str, user_link: str):
chat_id = message.peer_id
uid = message.from_id
mydb = mysql.connector.connect(
host=settings['host'],
user=settings["user"],
password=settings["password"],
database=settings["database"]
)
curs = mydb.cursor()
curs = mydb.cursor(buffered=True)
command_args = message.text.split(' ')
pattern = r"vk\.com\/([A-Za-z0-9_]+)"
match = re.search(pattern, user_link)
if match:
response = await user.users.get(user_ids=match.group(1))
user_id = response[0].id
else:
user_id = int(user_link.split('[id')[1].split('|')[0])
if len(command_args) == 3:
curs.execute(f'SELECT dostup FROM perms WHERE vk = {uid} AND dostup = "2" OR vk = {uid} AND dostup = "3" OR vk = {uid} AND dostup = "1"')
myres = curs.fetchone()
if myres is None:
await message.answer('У Вас нет прав!')
else:
if user_id is not None:
if argument == 'G':
await user.messages.add_chat_user(chat_id=2, user_id=user_id)
await user.messages.add_chat_user(chat_id=3, user_id=user_id)
await message.answer('Пользователь успешно добавлен в беседу')
elif argument == 'M':
await user.messages.add_chat_user(chat_id=2, user_id=user_id)
await user.messages.add_chat_user(chat_id=4, user_id=user_id)
await message.answer('Пользователь успешно добавлен в беседу')
elif argument is None:
await message.answer('Некорректный аргумент! Допустимые значения: G, M')
else:
await message.answer('Вы не указали пользователя!')
else:
print('5')
await message.answer('Пожалуйста, укажите аргумент (G или M) и ссылку или id пользователя после команды !invite!')
if __name__ == "__main__":
user.run_forever()
Нужна помощь, не реагирует на команду .invite