Задать вопрос
@kirito1

Как сделать RP команду на питоне для ВК?

Привет, хочу сделать РП команду "обнять"
Типа пишешь в беседе так: "обнять @id"
И бот отвечает: "@your_id обнял(а) @id"

Я думаю, что вы поняли, вот мой код:

from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import vk_api
import time
import random
import config
 
vk = vk_api.VkApi(token="токен")
 
vk._auth_token()
 
vk.get_api()
 
longpoll = VkBotLongPoll(vk, 196622387)

password_length = 32

possible_characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
 
while True:
    for event in longpoll.listen():
        if event.type == VkBotEventType.MESSAGE_NEW:
            if event.object.peer_id != event.object.from_id:
                facts_ = random.choice(config.facts)
                if event.object.text.lower() == "Факт" or event.object.text.lower() == "факт":
                    vk.method("messages.send", {"peer_id": event.object.peer_id, "message": "А ты знал что? \n\n" + facts_,
                                                "random_id": 0})
                elif event.object.text.lower() == "Факты" or event.object.text.lower() == "факты":
                    vk.method("messages.send", {"peer_id": event.object.peer_id, "message": "А ты знал что? \n\n" + facts_,
                                                "random_id": 0})
                elif event.object.text.lower() == "Пароль" or event.object.text.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": event.object.peer_id, "message": password,
                                                "random_id": 0})

                elif event.object.text.lower() == "Команды" or event.object.text.lower() == "команды":
                    vk.method("messages.send", {"peer_id": event.object.peer_id, "attachment": "wall-196622387_4" + facts_,
                                                "random_id": 0})

            elif event.object.peer_id == event.object.from_id:
                facts_ = random.choice(config.facts)
                if event.object.text.lower() == "Факт" or event.object.text.lower() == "факт":
                    vk.method("messages.send", {"user_id": event.object.from_id, "message": "А ты знал что? \n\n" + facts_,
                                                "random_id": 0})
                elif event.object.text.lower() == "Факты" or event.object.text.lower() == "факты":
                    vk.method("messages.send", {"user_id": event.object.from_id, "message": "А ты знал что? \n\n" + facts_,
                                                "random_id": 0})
                elif event.object.text.lower() == "Пароль" or event.object.text.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", {"user_id": event.object.from_id, "message": password,
                                                "random_id": 0})

                elif event.object.text.lower() == "Команды" or event.object.text.lower() == "команды":
                    vk.method("messages.send", {"user_id": event.object.peer_id, "attachment": "wall-196622387_4" + facts_,
                                                "random_id": 0})
  • Вопрос задан
  • 808 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@sergeyfilippov4
if event.obj.text.split()[0] == "обнять":
    uid = event.obj.text.split()[1]
    vk.messages.send(chat_id=event.chat_id, message=f"@{event.from_id} обнял @{uid}", random_id=0)</blockquote>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Saraman
@Saraman
В чём траблы?
Берёшь id того, кто писал и id в сообщении, пишешь ответку...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы