@kirito1

Как поставить префикс боту?

Я хочу задать префикс своему боту ВК. Подскажите, пожалуйста как это сделать.

Мой код:

import vk_api
import time
import random
import config
 
token = "тут_токен"
 
vk = vk_api.VkApi(token=token)

password_length = 32

possible_characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"

vk._auth_token()


while True:
    try:
        messages = vk.method("messages.getConversations", {"offset": 0, "count": 20, "filter": "unanswered"})
        if messages["count"] >= 1:
            id = messages["items"][0]["last_message"]["from_id"]
            body = messages["items"][0]["last_message"]["text"]
            if body.lower() == "Пароль" or body.lower() == "пароль":
                random_character_list = [random.choice(possible_characters) for i in range(password_length)]
                random_password = "".join(random_character_list)
                password = random_password
                vk.method("messages.send", {"peer_id": id, "message": password, "random_id": random.randint(1, 2147483647)})
            elif body.lower() == "Факты" or body.lower() == "факты":
                vk.method("messages.send", {"peer_id": id, "message": "А ты знал что? \n\n" + random.choice(config.facts), "random_id": random.randint(1, 2147483647)})
            elif body.lower() == "Факт" or body.lower() == "факт":
                vk.method("messages.send", {"peer_id": id, "message": "А ты знал что? \n\n" + random.choice(config.facts), "random_id": random.randint(1, 2147483647)})
    except Exception as E:
        time.sleep(1)
  • Вопрос задан
  • 1022 просмотра
Решения вопроса 1
@truenotnamed
Обозначить переменную с префиксом:

prefix = "/"

А после этого добавить проверку, является ли сообщение командой (то есть начинается с префикса):

if body.lower().startswith(prefix):
    # код с логикой бота
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Что такое префикс?

body.lower() == "Пароль
Текст нижнего регистра никогда не станет иметь заглавные буквы
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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