В общем, я использую api одного проекта, позволяющего получать информацию аккаунта из игры. Я в принципе всё настроил и при вводе команды - мне выдаётся json-информация об аккаунте, но почему-то бот её не отправляет мне в личку ВК, он просто как будто не видит остальной кусок кода, что делать?
P.S - я понимаю, что код отправки в комментарий засунут, но он всё равно не рабочий.
Код бота:
import vk_api
import json
from prikol import get_player_info
from vk_api.longpoll import VkLongPoll, VkEventType
# VK BOT
vk_session = vk_api.VkApi(token=TOKEN)
longpoll = VkLongPoll(vk_session)
vk = vk_session.get_api()
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW and event.to_me and event.text:
nickname = event.text.split()[1]
serverN = event.text.split()[2]
info = get_player_info(nickname, serverN)
with open('stats.json', 'r') as f:
data = json.loads(f.read())
stats = data['accountId']
print(stats)
#
# if event.text == '/find' and nickname and serverN: #Если написали заданную фразу
# if event.from_user: #Если написали в ЛC
#
# vk.messages.send( #Отправляем сообщение
# user_id=event.user_id,
# message=stats,
# random_id = 0
# )
#
#
# elif event.from_chat: #Если написали в Беседе
# vk.messages.send( #Отправляем собщение
# chat_id=event.chat_id,
# message="True",
# random_id = 0
# )
Код API:
import requests
import json
api_url = 'https://api.vprikol.dev/find/'
api_token = 'token'
# API PRIKOL
def create_task(nick, server):
response = requests.post(api_url + 'createTask',
params={'token': api_token,
'nick': nick,
'server': server}).json()
return response['request_id']
def get_task_result(task_id):
while True:
response = requests.get(api_url + 'getTaskResult',
params={'request_id': task_id})
if response.status_code in [200, 422]:
return response.json()
elif response.status_code >= 500:
raise Exception('API exception')
def get_player_info(nick, server):
task_id = create_task(nick, server)
result = get_task_result(task_id)
print(result)
with open('stats.json', 'w') as f:
json.dump(result, f)