netology_pyFree/main.py

62 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import telebot
from random import choice
token = ''
bot = telebot.TeleBot(token)
HELP = '''
* help - напечатать справку по программе.
* add - добавить задачу в список (название задачи запрашиваем у пользователя).
* show - напечатать все добавленные задачи.
'''
RANDOM_TASKS = ['123','321']
todos =dict()
def add_todo(date, task, category):
if todos.get(date) is not None:
todos[date].extend([[task, category]])
else:
todos[date] = [[task, category]]
@bot.message_handler(commands=['help'])
def echo(message):
bot.send_message(message.chat.id, HELP)
@bot.message_handler(commands=['random'])
def random_task(message):
task = choice(RANDOM_TASKS)
add_todo('сегодня', choice(RANDOM_TASKS), 'рандом')
bot.send_message(message.chat.id, f'Добавлена случайна задача {task}')
@bot.message_handler(commands=['show', 'print'])
def show(message):
dates = message.text.split()
for date in dates[1:]:
date = date.lower()
if date in todos:
reply = date.upper() + '\n'
print(todos)
print(todos[date])
for task, category in todos[date]:
reply += f'[] {task}, @{category}\n'
else:
reply = 'Такой даты нет'
bot.send_message(message.chat.id, reply)
@bot.message_handler(commands=['add', 'todo', 'category'])
def add(message):
splitted_command = message.text.split(maxsplit=3)
date = splitted_command[1]
task = splitted_command[2]
category = splitted_command[3]
if len(task) <3:
bot.send_message(message.chat.id, f'Задача: {task}, меньше 3х символов, добавлена не будет!')
else:
add_todo(date, task, category)
bot.send_message(message.chat.id, f'Добавлена задача: {task}, в день: {date}, категория: @{category}')
bot.polling(none_stop=True)