VkApi.method() got an unexpected keyword argument 'user_ids'

46 views Asked by At

Code:

import discord
from discord.ext import commands
import asyncio
import vkreal

client = commands.Bot(command_prefix='!', intents=discord.Intents.all())

chat_id = 11

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
token = "token"
session = vkreal.VkApi(token, sess = None, v = "5.125")
vk = session.api_context()
longpoll = vkreal.VkLongPoll(session, loop = loop)

async def disbot():
    async for event in longpoll.listen():
        print(event['type'])
        if event["type"] == 4:
            print(event['type'])
            user_id = event["peer_id"]
            message = event["text"]
            user_info = vkreal.VkApi.method(vk.users_get, user_ids = user_id)
            user_name = user_info[0]['first_name'] + ' ' + user_info[0]['last_name']
            await client.wait_until_ready()
            channel = client.get_channel(id)
            await channel.send(f"{user_name} ยป {message}")

@client.event
async def on_ready():
    print('Bot connected')

@client.event
async def on_message(message):
    if message.author == client.user:  
        return
    await client.process_commands(message)

async def main():
    async with client:
        client.loop.create_task(disbot())
        await client.start('BotToken')

asyncio.run(main())

I want to find out the username from VK, so I use vkreal.VkApi.method(name, params). I am using the users.get method with the user_ids parameter. The problem is that it does not recognize params in any way. Maybe I set the parameter incorrectly or something else.

0

There are 0 answers