https://t.me/triviabot?start=payload
бот получит входящее сообщение /start payload
from aiogram.types import ReplyKeyboardRemove, \
ReplyKeyboardMarkup, KeyboardButton
@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
button_hi = KeyboardButton('/help')
greet_kb = ReplyKeyboardMarkup()
greet_kb.add(button_hi)
await message.reply("Привет!", reply_markup=kb.greet_kb)
frist_name
- неправильно. first_name
bot.send_message(message.chat.id,+ str(Random.randint(0, 1000)))
неправильный вызов, зачем тут плюс и обращаться к библиотеки нужно как random.
/starts
, вы же отправляете /start
register_*_handler
, в то время как для инлайн кнопки вызвали обычную функцию, которая должна являться декоратором. register_callback_query_handler()
def hotels_max(message, *args):
maximum_hotels = int(message.text)
for sorted_hotel in args[0][:maximum_hotels]:
hotel_name, hotel_price, hotel_id = sorted_hotel.split(',')
kb = types.InlineKeyboardMarkup()
kb.add(types.InlineKeyboardButton('Получить фото', callback_data=f'hotel_{hotel_id}'))
bot.send_message(message.from_user.id, f'{hotel_name}, {hotel_price}', reply_markup=kb)
@bot.callback_query_handler(func=lambda call: call.data.startswith('hotel_'))
def hotel_photo(call):
# Предположу, что фото можно будет получить по ID отеля, поэтому достаем его
hotel_id = call.data.split('_')[-1]
# ну и дальше уже получаем фото и отправляем
bot.set_my_commands(commands, [aiogram.types.bot_command_scope_chat.BotCommandScopeChat(chat_id=123)])
BotCommandScopeAllPrivateChats
@client.on(events.NewMessage(chats=[]))
await event.message.forward_to(entity)
При этом обычный список из ссылок на фото возвращает ошибку. В чём проблема?
media
принимает список из типов InputMediaAudio, InputMediaDocument, InputMediaPhoto and InputMediaVideo. Открываете нужный вам тип в документации и смотрите, какие параметры он принимает
media
, caption
и parse_mode
.telebot.types
medias = [types.InputMediaPhoto('https://habrastorage.org/webt/61/99/de/6199de8312758776787774.png'), types.InputMediaPhoto('https://habrastorage.org/getpro/habr/upload_files/1fd/40a/c44/1fd40ac441a0aee55fc90e67997437af.png')]
bot.send_media_group(chat_id, medias)