бот не отправляет массивы aiogram

Недавно я писал телеграм бота угадай число. Сейчас я пытаюсь сделать систему рейтинга для игроков. В файле rating.txt хранятся два массива - один с именами игроков, другой - с их рейтингом.

@dp.message_handler(commands=['rate'])
async def rate(message: types.Message):
    f = open('rating.txt')
    data = f.readline()
    users = f.readline()
    await bot.send_message(message.chat.id, 'команда работает' + str(data), users)

Но при выполнении данного кода вылазит ошибка aiogram.utils.exceptions.BadRequest: Unsupported parse_mode. Что это такое и как ее исправить? P.S. Сообщение "команда работает" временное, так как проверял код.


Ответы (2 шт):

Автор решения: Alexey Loskutov

Похоже третий аргумент send_message() это parse_mode, он не может распознать содержимое строки users и ругается.

def send_message(
        self,
        chat_id: Union[int, str],
        text: str,
        parse_mode: ODVInput[str] = DEFAULT_NONE,
        .....
→ Ссылка
Автор решения: Clark Devlin

Как уже ответили третий аргумент send_message() это parse_mode. Ваше сообщение должно быть передано вторым аргументом - text. Так же не нужно приводить data и users к строке, они уже в файле хранятся в виде строк. Да и хранить данные в файле это плохая практика, лучше использовать базы данных.

@dp.message_handler(commands=['rate'])
async def rate(message: types.Message):
    f = open('rating.txt')
    data = f.readline()
    users = f.readline()
    await bot.send_message(message.chat.id, f'команда работает {data} : {users}')
→ Ссылка