бот не отправляет массивы 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 шт):
Похоже третий аргумент send_message() это parse_mode, он не может распознать содержимое строки users и ругается.
def send_message(
self,
chat_id: Union[int, str],
text: str,
parse_mode: ODVInput[str] = DEFAULT_NONE,
.....
Как уже ответили третий аргумент 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}')