Задать вопрос
@1t4chi

Как сделать так чтобы бот пересылал сообщения пользователя в мне в лс при определенном условии (Объяснил после кода)?

import asyncio
import requests
import random

from typing import Optional
from vkbottle import GroupEventType, GroupTypes, Keyboard, Text, VKAPIError
from vkbottle.bot import Bot, Message
from vkbottle import Keyboard, KeyboardButtonColor, Text, OpenLink
from vkbottle.tools import DocMessagesUploader

# Переменные
group_id = 'Айди группы'
token = "Токен"
anketa = 'Фото для анкеты'
leader = 'Мой айди'

# Для удобства

bot_token = token
bot_group_id = group_id
vk = Bot(bot_token, bot_group_id)

# Приветствие

# Есть 3 типа - private_message - ожидание\ответ только в личные сообщения группы!
# chat_message - ожидание\ответ только в беседе!
# message - ожидание\ответ и в беседе и в личные сообщения!

@vk.on.private_message(text=['Начать', 'начать'])
@vk.on.private_message(payload={'cmd': 'menu'})
async def menu(message: Message):
await message.answer(
# Сообщение при отправлении клавиатуры
# Клавиатура
keyboard = (
Keyboard(one_time = False, inline = False)
.add(Text('Хочу в клан!'), color=KeyboardButtonColor.POSITIVE)
.row()
.add(Text('Связаться с лидером'), color=KeyboardButtonColor.NEGATIVE)
)
)

@vk.on.private_message(text='Хочу в клан!')
async def magaz(message: Message):
await message.answer(
message = 'Вот пример анкеты:', attachment=anketa,
keyboard = (
Keyboard(one_time = False, inline = False)
.add(Text('Назад', payload={'cmd': 'menu'})

)
)
)



@vk.on.private_message(text='Связаться с лидером')
async def blasthk(message: Message):
await message.answer(
message = 'Лидер клана:',
keyboard = (
Keyboard(inline = True)
.add(OpenLink('Мой вк', 'Перейти'))

)
)

@vk.on.private_message()
async def main(message):
await message.answer('Я не знаю, что ответить на это =(\n\nВозможно потом когда нибудь я смогу ответить тебе на это =)')

vk.run_forever()

P.S. Хочу чтобы все следущие сообщения пользователя при нажатии кнопки "Хочу в клан!" пересылались ботом мне в личные сообщения до того момента как он нажмет кнопку "назад".

@vk.on.private_message(text='Хочу в клан!')
async def magaz(message: Message):
await message.answer(
message = 'Вот пример анкеты:', attachment=anketa,
keyboard = (
Keyboard(one_time = False, inline = False)
.add(Text('Назад', payload={'cmd': 'menu'})

)
)
)
  • Вопрос задан
  • 275 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@defriz
люблю js
вам нужно достать этого юзера из базы, приписать ему какое-нибудь значение на True, при нажатии на Назад меняем на False. вешаем обработчик (ловитель) всех сообщений, достаем юзера из базы по айди отправителя, проверяем стоит ли тот параметр на True и если да, то отправляем текст сообщения и какую-нибудь информацию об отправителе себе.
Ответ написан
Ваш ответ на вопрос

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

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