Telebot: send_message() got multiple values for argument 'parse_mode'

Рейтинг: 0Ответов: 1Опубликовано: 09.01.2023

Люди добрые, спасайте

import telebot
bot = telebot.TeleBot('')
to_chat_id = '@kindalion'
@bot.message_handler(commands=['start'], content_types=['text'])
def question(message):
   if message.text == '/start':
       bot.send_message(message.from_user.id, "<b>Привет, рады видеть тебя!\nЗадавай свой вопрос :3</b>", parse_mode="HTML")
       bot.register_next_step_handler(message, reply)
def reply(message):
   bot.send_message(to_chat_id, message.chat.id, "<b>Твой вопрос отправлен!\nЧтобы задать ещё один вопрос, напиши /start</b>", parse_mode="HTML")
bot.polling(none_stop=True)

Выдаёт ошибку TypeError: send_message() got multiple values for argument 'parse_mode' Что к чему - понятия не имею, сей аргумент в функции лишь один, как видите

Ответы

▲ 1Принят

Ошибка, скорее всего в фк-ции reply.
Здесь вы в bot.send_message передаете 2 id, что заставляет сообщение быть третьим аргументом. Третий аргумент - parse_mode, который вы указываете позже.

Если вы хотите ответить на сообщение, прикрепив сообщение, на которое отвечаете, сделать это можно так:

bot.send_message(
    message.chat.id, 
    "Ваш-текст", 
    parse_mode="HTML", 
    reply_to_message_id=message.message_id,
)