示例#1
0
    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'))
示例#2
0
    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'))
示例#3
0
    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()
示例#4
0
    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
示例#5
0
    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)
示例#6
0
    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'))
示例#7
0
    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")
示例#8
0
 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')