-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNoBotFunctions.py
More file actions
65 lines (44 loc) · 1.76 KB
/
NoBotFunctions.py
File metadata and controls
65 lines (44 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from Bot import bot
from time import sleep
import schedule
reminds = dict()
def send_message_func(remind):
"""Функция выдачи напоминания"""
bot.send_message(remind['id'], remind['text'])
reminds[remind['id']].remove(remind)
return schedule.CancelJob
def add_remind(time_rem_id):
"""Функция добавления напоминания в расписание"""
time = time_rem_id[0].split(':')
remind = {'time': time_rem_id[0], 'text': time_rem_id[1], 'id': time_rem_id[2]}
job = schedule.every().day.at(f'{time[0]}:{time[1]}').do(send_message_func, remind=remind)
remind['job'] = job
if remind['id'] in reminds:
reminds[remind['id']].append(remind)
else:
reminds[remind['id']] = [remind]
time_rem_id[0], time_rem_id[1], time_rem_id[2] = None, None, None
def print_reminds_list(id):
"""Функция просмотра списка напоминаний"""
message = ''
if id in reminds:
for i, remind in enumerate(reminds[id]):
message += f'№{i + 1} ({remind["time"]}) {remind["text"]}\n'
else:
message = 'Список пуст'
bot.send_message(id, message)
def edit_remind(id, num_text):
"""Функция редактирования напоминания"""
remind = reminds[id][num_text[0] - 1]
reminds[id].remove(remind)
schedule.cancel_job(remind['job'])
add_remind([remind['time'], num_text[1], id])
num_text[0], num_text[1] = None, None
def issue_remind():
"""Функция выдачи напоминаний по расписанию"""
while True:
schedule.run_pending()
sleep(1)
def bot_polling():
"""Работа бота"""
bot.polling()