Работа с пользователями бота | python3
Не могу сделать так, чтобы бот брал сообщения после определенной команды и заносил их в список:
import telebot
import config
import random
import pyowm
from telebot import types
bot = telebot.TeleBot(config.TOKEN)
#погода
city = "Москва"
owm=pyowm.OWM('')
mgr = owm.weather_manager()
observation = mgr.weather_at_place(city)
w = observation.weather
temp = w.temperature('celsius')['temp']
#ответ на старт
@bot.message_handler(commands=['start']) #ответ на команду старт
def welcome(message):
sti = open('static/welcome.webp', 'rb')
bot.send_sticker(message.chat.id, sti)
#клавиатура пользователя
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("? Как дела?")
item2 = types.KeyboardButton("⛅️ Че по погоде")
item3 = types.KeyboardButton("? Немного рандома")
item4 = types.KeyboardButton("...")
item5 = types.KeyboardButton("Узнать лидеров")
markup.add(item1, item2, item3, item4)
bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nЯ - <b>{1.first_name}</b>, бот для тренировок.".format(message.from_user, bot.get_me()),
parse_mode='html', reply_markup=markup)
#ответ на коману help
@bot.message_handler(commands=['help'])
def help(message):
bot.send_message(message.chat.id, "Мой хозяин ленив так что пока у меня не много команд, но в скором их станет больше, а пока воспользуйся ими:\n /start.".format(message.from_user, bot.get_me()),
parse_mode='html')
sti = open('static/help.webp','rb')
bot.send_sticker(message.chat.id, sti)
#ответ на команду photo
@bot.message_handler(commands=['photo'])
def photo(message):
a=(random.randint(1,4))
ph = open('photo/{}.jpg'.format(a),'rb')
bot.send_photo(message.chat.id, ph)
----------
```
#узнать лидера
@bot.message_handler(commands=['leader'])
def leader(message):
led=[] #пустой список для заполнения
send = bot.send_message(message.chat.id, 'Вводите по 1 сообщению') #сообщение пользователю перед вводом
while message.text!='Конец': #цикл во время которого сообщения должны добавляться в список
a=message.text
led.append(a)
for i in led: #цикл для вывода списка
bot.send_message(message.chat.id, str(i))
```
----------
#ответы на все остальное
@bot.message_handler(content_types=['text'])
def mes(message):
if message.chat.type == 'private':
if message.text == '? Немного рандома':
bot.send_message(message.chat.id, str(random.randint(0,100)))
elif message.text == '? Как дела?':
bot.send_message(message.chat.id, 'Отлично, а что насчет тебя?')
elif message.text == '⛅️ Че по погоде':
if temp>15:
bot.send_message(message.chat.id, "Сейчас в Москве "+ str(temp) +" °C градусов.\nНа улице достаточно тепло" )
else:
bot.send_message(message.chat.id, "Сейчас в Москве "+ str(temp) +" °C градусов.\nОденьтесь потеплее" )
elif message.text == 'Кто же лох??':
bot.send_message(message.chat.id, "")
else:
bot.send_message(message.chat.id, 'Я не знаю что ответить?')
bot.polling(none_stop=True)