Ответы пользователя по тегу Telegram
  • Как исправить проблему при выгрузке телеграмм бота на pyTelegramBotAPI на сервера?

    @codingoleg
    Вам же ошибка явно указала, что
    make sure that only one bot instance is running
    Бот с таким токеном уже запущен, поэтому второй не запустится. Остановите работающего бота или создайте новый токен и запустите ваш код с ним.
    Ответ написан
    Комментировать
  • Почему callback_query_handler не видит call.data?

    @codingoleg
    Не понятно, на какой библиотеке вы это делаете. Вот вам пример на aiogram 2.25. Думаю, в остальных будет примерно так же, кроме добавленных слов async/await. Сделал по вашему шаблону, но лучше хэндлер с callback разделить на несколько, если их планируется много. Рекомендую ознакомиться, чем отличается types.Message от types.CallbackQuery, а также message_handler от callback_query_handler, чтобы в будущем не было проблем.
    from aiogram import Bot, Dispatcher, executor, types
    
    bot = Bot('token')
    dp = Dispatcher(bot)
    
    @dp.message_handler(commands=['start'])
    async def get_phone(message: types.Message):
        keyboard = types.InlineKeyboardMarkup()
        key_1 = types.InlineKeyboardButton(text='button 1', callback_data='b1')
        keyboard.add(key_1)
        key_2 = types.InlineKeyboardButton(text='button 2', callback_data='b2')
        keyboard.add(key_2)
        await bot.send_message(message.from_user.id, text='Выберите, нажав одну из кнопок:', reply_markup=keyboard)
    
    @dp.callback_query_handler(lambda call: True)
    async def get_storage(callback: types.CallbackQuery):
        if callback.data == 'b1':
            await callback.message.answer('Вы нажали на button 1')
        if callback.data == 'b2':
            await callback.message.answer('Вы нажали на button 2')
    
        # Заглушка, чтобы кнопка не мигала после нажатия
        await callback.answer()
    
    executor.start_polling(dp)
    Ответ написан
    1 комментарий
  • Как работает этот бот?

    @codingoleg
    Причём тут бот? Это приложение телеги открывает твой список каналов. ID человека можно легко брать через Telegram bot api.
    Ответ написан
    Комментировать