Как сделать подпись картинки в тг боте
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'
Ответы (1 шт):
Автор решения: Pet Linux
→ Ссылка
Вам нужно использовать 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)