async def done(message: types.Message): uid = message.from_user.id if not uid in users_ids: await message.reply(strings.left) return if not users.get_state(uid): await message.reply(strings.send_start) return user_state = users.get_state(uid) if user_state != 'adding_task' and user_state != 'clear_task': await message.reply(strings.use_buttons) return if user_state == 'clear_task': hometask.clear_photos(del_subject_name[uid]) hometask.clear_files(del_subject_name[uid]) await message.reply(strings.done, reply_markup=keyboard('lessons')) return elif user_state == 'adding_task': text = updates_by_user[uid]['text'] if text != "": hometask.update_task(updates_by_user[uid]['subject_name'], text) files = updates_by_user[uid]['files'] if files != []: hometask.update_files(updates_by_user[uid]['subject_name'], files) photos = updates_by_user[uid]['photos'] if photos != []: hometask.update_photos( updates_by_user[uid]['subject_name'], photos) updates_by_user[uid]['subject_name'] = "" updates_by_user[uid]['files'] = [] updates_by_user[uid]['photos'] = [] updates_by_user[uid]['text'] = "" users.set_state(uid, 'add_task') await bot.send_message(chat_id=uid, text=strings.done, reply_markup=keyboard('lessons'))
async def start(message: types.Message): uid = message.from_user.id if not uid in users_ids: return users.set_state(uid, 'main_menu') await message.reply(text=strings.start_message, reply_markup=keyboard('main'))
def __init__(self): self.display = Display() # Initialise display self.rootWindow = self.display.screen().root # Initialise root window self.rootWindow.change_attributes( event_mask=X.SubstructureRedirectMask) self.keyboardHandler = keyboard(self.display, self.rootWindow) self.mouseHandler = mouse() self.mappingHandler = mapping(self.display, self.rootWindow) setWallpaper()
async def cancel(message: types.Message): uid = message.from_user.id if not uid in users_ids: await message.reply(strings.left) return if not users.get_state(uid): await message.reply(strings.send_start) return user_state = users.get_state(uid) if user_state == 'clear_task': await message.reply(text=strings.cancel, reply_markup=keyboard('lessons')) elif user_state == 'adding_task': await message.reply(text=strings.cancel, reply_markup=keyboard('lessons')) users.set_state(uid, 'add_task') else: await message.reply(text=strings.use_buttons) return
async def lesson_name_sended(message: types.Message): uid = message.from_user.id if not uid in users_ids: await message.reply(strings.left) return if not users.get_state(uid): await message.reply(strings.send_start) return user_state = users.get_state(uid) if user_state == 'get_subject_task': await message.reply(text=hometask.get_task(message.text)) for file_id in hometask.get_files(message.text): await bot.send_document(chat_id=uid, document=file_id) for photo in hometask.get_photos(message.text): await bot.send_photo(chat_id=uid, photo=photo) elif user_state == 'add_task': users.set_state(uid, 'adding_task') updates_by_user[uid]['subject_name'] = message.text await message.reply(text=strings.send_task, reply_markup=keyboard('done')) elif user_state == 'adding_task': await message.reply(text=strings.incorrect_task) return elif user_state == 'clear_task': del_subject_name[uid] = message.text await message.reply(text=strings.sure, reply_markup=keyboard('done')) return else: await message.reply(text=strings.use_buttons)
async def send_lessons(message: types.Message): uid = message.from_user.id if not uid in users_ids: await message.reply(strings.left) return if not users.get_state(uid): await message.reply(strings.send_start) return user_state = users.get_state(uid) if user_state != 'main_menu': await message.reply(text=strings.use_buttons) return await message.reply(text=strings.choose_subject, reply_markup=keyboard('lessons'))
async def back(message: types.Message): uid = message.from_user.id if not uid in users_ids: await message.reply(strings.left) return if not users.get_state(uid): await message.reply(strings.send_start) return user_state = users.get_state(uid) if user_state == 'main_menu': await message.reply(text=strings.no_back) elif user_state == 'get_subject_task' or user_state == 'add_task' or user_state == 'clear_task': users.set_state(uid, 'main_menu') await message.reply(text=strings.back, reply_markup=keyboard('main')) elif user_state == 'adding_task': return else: await message.reply(text="0_0, send me message")
async def send_main(message: types.Message): await message.reply(text="ok", reply_markup=keyboard('main')) users.set_state(message.from_user.id, 'main_menu')