Ответы пользователя по тегу Python
  • Почему кнопки не отправляются вертикальным списком?

    @AlerX
    В функции get_button() указан payload как json.dumps(payload),
    чтобы отправить вертикальное меню достаточно изменить этот параметр на "{\"button\": \"1\"}"
    Ответ написан
    1 комментарий
  • Как создать команду бан? Python-VK?

    @AlerX
    Для ботов VK лучше использовать базу данных(Postgresql, mysql). И при команде бан, менять значение в базе данных и вводить ограничение в боте.
    Пример: (Просто пример)
    sql.execute(f"SELECT (параметр отвечающий за статус игрока) FROM (таблица в бд) WHERE user_id = {str(user_id)} ")
    if sql.fetchall() == "banned":
      send_mess(peer_id, "Вы забанены.")

    Пример команды бан:
    def ban_function(user_id, peer_id):
         sql.execute(f"UPDATE (таблица) SET (параметр отвечающий за бан) = 'banned' WHERE user_id = {str(user_id)}")
         send_mess(peer_id,"Игрок успешно забанен!")

    Примеры не рабочие, что-бы они работали нужно писать код на их основе.
    Советую вам почитать про базы данных.
    Ответ написан
    Комментировать
  • Как отправить только клавиатуру VK API?

    @AlerX
    Пример клавиатуры
    keyboard1234 = {
        "one_time": True,
        "buttons": [
            [{
                "action": {
                    "type": "text",
                    "payload": "{\"button\": \"1\"}",
                    "label": "Кнопка"
                },
                "color": "positive"
            },
                {
                    "action": {
                        "type": "text",
                        "payload": "{\"button\": \"2\"}",
                        "label": "Кнопка"
                    },
                    "color": "positive"
                }]
    
        ]


    В Клавиатуре есть параметр One_Time, если он поставлен на True - клавиатурой можно будет воспользоваться один раз. А если False она будет активна до тех пор пока вы не отправите новую клавиатуру.

    Отправить просто клавиатуру не получится, она отправляется с сообщением.
    Ответ написан
  • Питон не проверяет несколько if?

    @AlerX
    Попробуйте так:
    def test(): #эта функция выполняется по нажатию
        a = int(ent.get())
        x = int(ent1.get())
        if a == 2:
            print("GG")
        if x == 3:
            print("TT")

    Так как вы переменным 'a' и 'x' даете число одного поля , а у вас есть 2 поля под название ent и ent1
    Ответ написан
    Комментировать