Ответы пользователя по тегу Python
  • Ругается на async def successful_payment(message: types.Message): IndentationError: unexpected indent, что не так?

    @YakovSava
    Питонячий сишник
    Вы добавили лишний или вовсе не добавили отступ после async def. Рано вам ещё в асинхронное программирование, учите основы, пожалуйста, потом начните с чего-то легче, как например PyTelegramBotApi
    Ответ написан
    Комментировать
  • VK Pay и VKBottle связать с ботом. Правильно ли написал код?

    @YakovSava
    Питонячий сишник
    Не знаю актуально ли дос их пор, но надеюсь кому-то пригодиться и этот человек не будет совершать моих ошибок.

    Нет, после оплаты не возникает ивента. Приходит лишь сообщение с определённым полем message.attachments под названием VkpayTransactionObject (см. больше тут), потому, лучше сделать так:
    @bot.on.private_message(text='подписка')
    async def subscribe_handler(message:Message):
    	group_id = 12345678 # Вставьте сюда ваш group_id
    	amount = 100 # Вставьте сюда сумму которую человек должен оплатить
    	pay = (Keyboard(one_time=False, inline=True)
    		.add(VKPay(payload={'pays': 0},  hash=f'action=pay-to-group&amount={amount}&group_id={num}')
    	)).get_json()
    	await message.answer('Вот кнопка для оплаты подписки', keyboard=pay)
    
    @bot.on.private_message(payload={'pays': 0})
    async def people_was_pay(message:Message):
    	await message.answer(f'Вы успешно оплатили подписку в размере {message.attachments[0].amount} рублей!')


    По поводу моего кода не очень уверен, возможно путь (message.attachments[0].amount) не совсем верный, просто в моём боте, я передавал сумму и другие данные вместе с полезной нагрузкой (payload). Хотел бы уточнить, что бот среагирует на payload только после оплаты т.е. отправки сообщения. Так же посоветую не прописывать pip3 install --upgrade vkbottle-types сразу, лучше устанавливать сразу с репозитория на гитхабе
    pip install -U https://github.com/vkbottle/vkbottle-types/archive/master.zip
    (Такой совет написан здесь) дабы не было каких-либо ошибок.
    Ответ написан
    Комментировать
  • В питоне не выбивает ошибки, но бот все ещё не отвечает на сообщение, можете помочь?

    @YakovSava
    Питонячий сишник
    Если токен от группы в ВК, убедитесь что вы выдали все соответствующие разрешения токену, включили longpoll API, включены возможности ботов, а так же сообщения сообщества. Так же убедитесь что вы включили в longpoll API приходящие уведомления о сообщениях.

    Это не ошибка в коде, прочитайте пожалуйста документацию ВК и не копипастите код ;)
    Ответ написан