@svtzor

Как задать значения уже имеющимся значениям внутри переменной?

Есть бот ВКонтакте, в боте переменная со значениями
Переменная отвечает за то, с какими играми может взаимодействовать пользователь, они завязаны с JSON
games = ["CS:GO", "APEX LEGENDS", "DOTA 2", "RUST", "FORTNITE", "MINECRAFT", "WARZONE", "LEAGUE OF LEGENDS", "VALORANT", "Другая игра"]


Когда пользователь внутри бота выбирает игру, он вынужден либо написать игру тем же текстом, какой в значениях, либо может нажать на кнопку, которая также отправляет текстовое значение
Как мне задать этим значениям числовые (1=CS:GO, 2=APEX LEGENDS и т.д.), чтобы на стадии выбора игры пользователь мог отправить и цифру, и текст, и кнопку.
Спасибо.
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Ну, либо переделать код формирования кнопок и проверки сообщения, сделав из списка словарь.
Либо получать игру просто по индексу

Псевдокод:
if message.isdigit():
    game_index = int(message)
    if game_index < 0 or game_index > len(games):
        game = “Неизвестная игра’’
    else:
        # не забываем, что индекс начинается с нуля в списке, а для пользователя - с единицы, поэтому сделаем так
        game = games[game_index-1]
else:
    game = message


Если message будет числом, допустим
message = 3
То в переменной game будет dota.

Если message - не число (ещё нужно будет добавить обработку для кнопок, сделав проверку на число/строку/кнопку, в моем примере только число и не число), то переменная гейм и будет равна меседж
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы