Vk_bottle Как записать сообщение пользователя в определённую переменную, и сохранить её?
мне нужно чтобы бот запрашивал у человека имя, и сохранял его, и при определённой команде он отправлял это же имя человеку. Главное чтобы имя бралось не из профиля пользователя, а именно то, которое он указал.
from vkbottle.bot import Bot, Message
from vkbottle import API
bot = Bot(token="e2e36c35d6c736*****************************2af9b9a1e*****03a9140a2131233")
name = 0
@bot.on.message(text="Начать",)
async def menu(message: Message):
await message.answer("Чтобы начать работу в боте, укажите имя командой 'Установить имя' ")
@bot.on.message(text="Установить имя")
async def profil(message: Message):
await message.answer ("Введите имя которое хотите установить:")
#после этого нужно чтобы бот принял следующее сообщение пользователя и установил его в переменную "name"
@bot.on.message(text="Имя")
async def profil(message: Message):
await message.answer ("Ваше имя:"+ name)
agagaheash ashaherya4wr, пишет что переменная name недоступна: "name" is not accessed" а когда добавляю global к переменной, а после этого объявляю её, пишет "name" is assigned before global declaration
VeinKoor, во-первых, постарайтесь обойтись без global.
Во-вторых, если вы изучаете python 2 дня, то боты для вас чересчур сложны. Они кажутся простыми, но поверьте - это жесткий оверскилл.
Если алгоритмы и структуры данных вам не знакомы - начните с них. Если знакомы - учите сам язык. Лучше по учебнику, если сможете. Лучше по М.Лутц «Изучаем Python».
Потом несколько игр типа крестики-нолики, всё такое. Потом осторожно возвращайтесь к самым простым ботам.
Если код в тело вопроса положите, тег python в принципе можно вернуть. Но едва ли поможет - большинство толковых читателей тега люто, бешено ненавидят ботописателей :)
name = ''
@bot.on.private_message(text = 'ввести_имя')
async def get_name(message):
global name
name = message.text
@bot.on.private_message(text = 'мое_имя')
async def get_name(message):
global name
await message.answer(f"Ваше имя: {name}")