Не получается напечатать полный текст списка

Рейтинг: 0Ответов: 1Опубликовано: 29.03.2023
import telebot
from telebot import types
import requests
import pyfaceit

bot = telebot.TeleBot("тут токен")

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn1 = types.KeyboardButton("Профиль")
    btn2 = types.KeyboardButton("Турниры")
    markup.add(btn1 , btn2)
    bot.send_message(message.chat.id,
                     text="Привет, {0.first_name}! Выбери нужную тебе функцию".format(
                         message.from_user), reply_markup=markup)


@bot.message_handler(content_types=['text'])
def func(message):
    if (message.text == "Профиль"):
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton("Добавить аккаунт")
        btn2 = types.KeyboardButton("Статистика")
        back = types.KeyboardButton("Вернуться в главное меню")
        markup.add(btn1, back)
        bot.send_message(message.chat.id, text="Что вас интересует?", reply_markup=markup)
    elif (message.text == "Турниры"):
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton("Список турниров")
        back = types.KeyboardButton("Вернуться в главное меню")
        markup.add(btn1,back)
        bot.send_message(message.chat.id, text="Что вас интересует?", reply_markup=markup)

    elif (message.text == "Список турниров"):
        bot.send_message(message.chat.id, "Пока что недоступно")

    elif (message.text == "Вернуться в главное меню"):
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        button1 = types.KeyboardButton("Профиль")
        button2 = types.KeyboardButton("Турниры")
        markup.add(button1, button2)
        bot.send_message(message.chat.id, text="Вы вернулись в главное меню", reply_markup=markup)
    elif (message.text == 'Добавить аккаунт'):
        bot.send_message(message.chat.id, 'Привет, сейчас я тебя зарегстрирую! Введи свой ник на Faceit')
        bot.register_next_step_handler(message, user_name)
def user_name(message):
    name = message.text.strip()
    # Статистика аккаунта
    instance = pyfaceit.Pyfaceit(name)
    stats = instance.player_stats()
    bot.send_message(message.chat.id, stats)

Сама проблема в функции user_name, когда пишу боту свой ник выдаёт лишь "player_id" А полный текст должен быть - {'player_id': '98d49201-abda-4311-b78a-489548c35544', и т.д

Ответы

▲ 0Принят

Нужно словарь stats сначала преобразовать в список с помощью

stats = list(stats.values())

Затем сделать из этого списка string

stats = (str(stats).strip('[]'))

Теперь этот string можно использовать