Как сделать подпись картинки в тг боте

Рейтинг: 0Ответов: 1Опубликовано: 22.05.2023
from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import ReplyKeyboardRemove, \
    ReplyKeyboardMarkup, KeyboardButton, \
    InlineKeyboardMarkup, InlineKeyboardButton

#api ключ бота
bot = Bot(token='токен')
#Диспетчер, будет обрабатывать сообщения
dp = Dispatcher(bot)
#Фото для бота
startphoto = open('images/start.jpg', 'rb')

@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    markup = InlineKeyboardMarkup()
    catalog = InlineKeyboardButton("КАТАЛОГ📕", callback_data='catalog')
    markup.add(catalog)
    await bot.send_message(message.chat.id,startphoto, caption='Привет!✋\nЭтот чат-бот удивит тебя низкими ценами на подписки популярных сервисов!💸\nНапример подписка на дискорд "нитро" у нас стоит 260₽, вместо 804₽🤑', reply_markup=markup)


executor.start_polling(dp)

Я нашёл как это делать, всё верно скопировал , но не работает Ошибка:

    await bot.send_message(message.chat.id,startphoto, caption='Привет!✋\nЭтот чат-бот удивит тебя низкими ценами на подписки популярных сервисов!💸\nНапример подписка на дискорд "нитро" у нас стоит 260₽, вместо 804₽🤑', reply_markup=markup)
TypeError: Bot.send_message() got an unexpected keyword argument 'caption'

Ответы

▲ 2Принят

Вам нужно использовать bot.send_photo, потому что bot.send_message принимает только текст.

from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import ReplyKeyboardRemove, \
    ReplyKeyboardMarkup, KeyboardButton, \
    InlineKeyboardMarkup, InlineKeyboardButton

#api ключ бота
bot = Bot(token='токен')
#Диспетчер, будет обрабатывать сообщения
dp = Dispatcher(bot)
#Фото для бота
startphoto = open('images/start.jpg', 'rb')

@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    markup = InlineKeyboardMarkup()
    catalog = InlineKeyboardButton("КАТАЛОГ📕", callback_data='catalog')
    markup.add(catalog)
    await bot.send_photo(message.chat.id,startphoto, caption='Привет!✋\nЭтот чат-бот удивит тебя низкими ценами на подписки популярных сервисов!💸\nНапример подписка на дискорд "нитро" у нас стоит 260₽, вместо 804₽🤑', reply_markup=markup)



executor.start_polling(dp)