コード例 #1
0
ファイル: times.py プロジェクト: slava2498/notes
def importantdetail(update, context):
	"""Show new choice of buttons"""
	query = update.callback_query
	query.answer()

	data = query.data.split('_')
	id = int(data[1])
	user = UsersClass(query.from_user.id)
	notes = ImportantClass(user.client, id)
	notes.detail(id)

	context.bot.edit_message_media(chat_id=query.message.chat_id, message_id=query.message.message_id, reply_markup=notes.reply_markup, media=InputMediaPhoto(media=notes.important.file_patch, caption=notes.important.body), parse_mode='Markdown')
	return 'TIMING'
コード例 #2
0
ファイル: times.py プロジェクト: slava2498/notes
def minute_importantdetail(update, context):
	"""Show new choice of buttons"""
	query = update.callback_query
	query.answer()

	data = query.data.split('_')
	id = int(data[1])
	hour = data[2]
	user = UsersClass(query.from_user.id)
	notes = ImportantClass(user.client, id)

	buttons = []
	for x in range(0, 60, 5):
		prefix = ''
		if(notes.important.hour == x):
			prefix = '✅'

		buttons.append(InlineKeyboardButton('{}{}'.format(prefix, x), callback_data='212_{}_{}_{}'.format(id, hour, x)))

	keyboard = settings.constructor(buttons, 4)
	reply_markup = InlineKeyboardMarkup(keyboard)

	reply_markup.inline_keyboard.append([InlineKeyboardButton("↩️ Назад", callback_data='203_{}'.format(id))])
	context.bot.edit_message_media(chat_id=query.message.chat_id, message_id=query.message.message_id, reply_markup=reply_markup, media=InputMediaPhoto(media=notes.important.file_patch, caption='*{} {}*\nВыберите минуту'.format(hour, HOUR[int(hour)]), parse_mode='Markdown'))

	return 'TIMING'
コード例 #3
0
ファイル: dialog.py プロジェクト: slava2498/notes
def get_image(update, context):
	"""Show new choice of buttons"""
	query = update.message
	user = UsersClass(query.from_user.id)
	if(user.dialog):
		data = user.dialog.data.split('|')
		print(data)

		step = data[0]
		action = data[1]

		if(step == 'TIMING'):
			if(action == '104'):
				notes = NotesClass(user.client, None)
				print(68, update.message.photo[-1].file_id)
				notes.create(update.message.text, update.message.photo[-1].file_id)

				user.create_dialog('TIMING|104')
				update.message.reply_text('Введите текст напоминания')

				user.delete_dialog()

			if(action == '200'):
				notes = ImportantClass(user.client, None)
				print(68, update.message.photo[-1].file_id)
				notes.create(update.message.text, update.message.photo[-1].file_id)

				user.create_dialog('TIMING|200')
				update.message.reply_text('Введите текст напоминания')

				user.delete_dialog()

	return 'DIALOG'
コード例 #4
0
ファイル: times.py プロジェクト: slava2498/notes
def importantpagin(update, context):
	"""Show new choice of buttons"""
	query = update.callback_query
	query.answer()

	data = query.data.split('_')
	print(data)
	page = int(data[1])

	user = UsersClass(query.from_user.id)
	notes = ImportantClass(user.client, None)
	notes.get({'page': page, 'count': settings.COUNT_PAGE})
	if(notes.state):
		context.bot.edit_message_media(chat_id=query.message.chat_id, message_id=query.message.message_id, reply_markup=notes.reply_markup, media=InputMediaPhoto(media=notes.important.file_patch, caption=notes.important.body, parse_mode='Markdown'))
		return 'TIMING'
	else:
		user.create_dialog('TIMING|200')
		context.bot.deleteMessage(chat_id=query.message.chat_id, message_id=query.message.message_id)
		context.bot.send_message(chat_id=query.message.chat.id, text='Введите текст напоминания или отправьте картинку', parse_mode='Markdown')
		return 'DIALOG'
コード例 #5
0
ファイル: times.py プロジェクト: slava2498/notes
def importantdelete(update, context):
	"""Show new choice of buttons"""
	query = update.callback_query
	query.answer()

	data = query.data.split('_')
	id = int(data[1])
	user = UsersClass(query.from_user.id)
	notes = ImportantClass(user.client, None)
	notes.delete(id)
	notes.get({'page': 1, 'count': settings.COUNT_PAGE})

	if(notes.state):
		context.bot.edit_message_media(chat_id=query.message.chat_id, message_id=query.message.message_id, reply_markup=notes.reply_markup, media=InputMediaPhoto(media=notes.important.file_patch, caption=notes.important.body, parse_mode='Markdown'))
		return 'TIMING'
	else:
		buttons = [
			InlineKeyboardButton("📝 Планировщик", callback_data='100'),
			InlineKeyboardButton("📝 Важные даты", callback_data='200'),
		]
		keyboard = settings.constructor(buttons, settings.COUNT_ROW)
		reply_markup = InlineKeyboardMarkup(keyboard)
		
		context.bot.deleteMessage(chat_id=query.message.chat_id, message_id=query.message.message_id)
		context.bot.send_message(chat_id=query.message.chat.id, text="Это ваш персональный планировщик дел на день, неделю, месяц и квартал", reply_markup=reply_markup, parse_mode='Markdown')
	return 'TIMING'
コード例 #6
0
ファイル: times.py プロジェクト: slava2498/notes
def settings_importantdate(update, context):
	"""Show new choice of buttons"""
	query = update.callback_query
	query.answer()

	data = query.data.split('_')
	id = int(data[1])
	user = UsersClass(query.from_user.id)
	notes = ImportantClass(user.client, id)
	user.create_dialog('TIMING|209|{}'.format(id))

	context.bot.deleteMessage(chat_id=query.message.chat_id, message_id=query.message.message_id)
	context.bot.send_message(chat_id=query.message.chat.id, text='Введите дату в формате дд.мм', parse_mode='Markdown')
	return 'TIMING'
コード例 #7
0
ファイル: times.py プロジェクト: slava2498/notes
def importantmode(update, context):
	"""Show new choice of buttons"""
	query = update.callback_query
	query.answer()

	data = query.data.split('_')
	id = int(data[1])
	user = UsersClass(query.from_user.id)
	notes = ImportantClass(user.client, id)

	buttons = []
	for x in MODE_IMPORTANT:
		buttons.append(InlineKeyboardButton(MODE_IMPORTANT[x], callback_data='209_{}_{}'.format(id, x)))
	keyboard = settings.constructor(buttons, settings.COUNT_ROW)
	reply_markup = InlineKeyboardMarkup(keyboard)

	context.bot.edit_message_media(chat_id=query.message.chat_id, message_id=query.message.message_id, reply_markup=reply_markup, media=InputMediaPhoto(media=notes.important.file_patch, caption='Выберите режим работы'), parse_mode='Markdown')
	return 'TIMING'
コード例 #8
0
ファイル: times.py プロジェクト: slava2498/notes
def important(update, context):
	"""Show new choice of buttons"""
	query = update.callback_query
	query.answer()

	user = UsersClass(query.from_user.id)
	notes = ImportantClass(user.client, None)
	if('_' in query.data):
		notes.get({'page': 1, 'count': settings.COUNT_PAGE, 'note_id': query.data.split('_')[1]})
	else:
		notes.get({'page': 1, 'count': settings.COUNT_PAGE})

	if(notes.state):
		if(notes.important.file_patch):
			# context.bot.deleteMessage(chat_id=query.message.chat.id, message_id=update.message.message_id)
			context.bot.sendPhoto(chat_id=query.message.chat.id, photo=notes.important.file_patch, caption=notes.important.body, reply_markup=notes.reply_markup, parse_mode='Markdown')
		else:
			query.edit_message_text(
				text=notes.important.body,
				reply_markup=notes.reply_markup,
				parse_mode='Markdown'
			)
		return 'TIMING'
	else:
		user.create_dialog('TIMING|200')

		buttons = [
				InlineKeyboardButton("Отменить ❌", callback_data='777'),
		]
		keyboard = settings.constructor(buttons, settings.COUNT_ROW)
		reply_markup = InlineKeyboardMarkup(keyboard)
		query.edit_message_text(
			'Введите текст напоминания или отправьте картинку',
			reply_markup=reply_markup,
			parse_mode='Markdown'
		)
		return 'DIALOG'
コード例 #9
0
ファイル: dialog.py プロジェクト: slava2498/notes
def text(update, context):
	query = update.message
	print(query)
	user = UsersClass(query.from_user.id)
	if(user.dialog):
		data = user.dialog.data.split('|')
		print(data)

		step = data[0]
		action = data[1]

		if(step == 'TIMING'):
			if(action == '104'):
				notes = NotesClass(user.client, None)
				notes.create(update.message.text)
				notes.get({'page': 1, 'count': settings.COUNT_PAGE})
				if(notes.state):
					context.bot.sendPhoto(chat_id=query.chat.id, photo=notes.scheduler.file_patch, caption=notes.scheduler.body, reply_markup=notes.reply_markup)
					user.delete_dialog()
				else:
					user.create_dialog('TIMING|104')
					update.message.reply_text('Введите текст напоминания')
					return 'DIALOG'

			elif(action == '108'):
				id = data[2]
				notes = NotesClass(user.client, None)
				notes.update(type_up='body', id=id, data=update.message.text)
				notes.detail(id)
				
				context.bot.sendPhoto(chat_id=query.chat.id, photo=notes.scheduler.file_patch, caption=notes.scheduler.body, reply_markup=notes.reply_markup)
				user.delete_dialog()

			elif(action == '200'):
				notes = ImportantClass(user.client, None)
				notes.create(update.message.text)
				notes.get({'page': 1, 'count': settings.COUNT_PAGE})
				if(notes.state):
					# context.bot.sendPhoto(chat_id=query.chat.id, photo=notes.important.file_patch, caption=notes.important.body, reply_markup=notes.reply_markup)
					user = UsersClass(query.from_user.id)
					notes = ImportantClass(user.client, notes.important.id)
					user.delete_dialog()
					user.create_dialog('TIMING|209|{}'.format(notes.important.id))

					# context.bot.deleteMessage(chat_id=query.message.chat_id, message_id=query.message.message_id)
					context.bot.send_message(chat_id=query.chat.id, text='Введите дату в формате дд.мм', parse_mode='Markdown')
					return 'DIALOG'
				else:
					user.create_dialog('TIMING|200')
					update.message.reply_text('Введите текст напоминания')
					return 'DIALOG'
				
				# context.bot.sendPhoto(chat_id=query.chat.id, photo=settings.MEDIA_TECH, caption=notes.important.body, reply_markup=notes.reply_markup)
				# user.delete_dialog()

			elif(action == '208'):
				id = data[2]
				notes = ImportantClass(user.client, None)
				notes.update(type_up='body', id=id, data=update.message.text)
				notes.detail(id)
				
				context.bot.sendPhoto(chat_id=query.chat.id, photo=notes.important.file_patch, caption=notes.important.body, reply_markup=notes.reply_markup)
				user.delete_dialog()

			elif(action == '209'):
				date = update.message.text.split('.')
				if(len(date) != 2):
					context.bot.send_message(chat_id=query.chat.id, text='Введите дату в формате дд.мм', parse_mode='Markdown')
					return '{}'.format(step)

				if(date[0][0] == '0'):
					day = date[0][1]
				else:
					day = date[0]

				if(date[1][0] == '0'):
					month = date[1][1]
				else:
					month = date[1]

				if not (1 <= int(day) <= 31):
					context.bot.send_message(chat_id=query.chat.id, text='Введите дату в формате дд.мм', parse_mode='Markdown')
					return '{}'.format(step)

				if not (1 <= int(month) <= 12):
					context.bot.send_message(chat_id=query.chat.id, text='Введите дату в формате дд.мм', parse_mode='Markdown')
					return '{}'.format(step)

				now = datetime.datetime.now()
				month_day = calendar.monthrange(now.year, 1)[1]

				if (int(day) > month_day):
					context.bot.send_message(chat_id=query.chat.id, text='В данном месяце количество дней = {}'.format(month_day), parse_mode='Markdown')
					return '{}'.format(step)

				id = data[2]
				notes = ImportantClass(user.client, None)
				notes.update(type_up='date', id=id, data=[day, month])
				notes.detail(id)
				
				if(notes.important.hour == None or notes.important.minute == None):
					buttons = []
					for x in range(1, 24):
						prefix = ''
						if(notes.important.hour == x):
							prefix = '✅'

						buttons.append(InlineKeyboardButton('{}{}'.format(prefix, x), callback_data='211_{}_{}'.format(notes.important.id, x)))

					keyboard = settings.constructor(buttons, 4)
					reply_markup = InlineKeyboardMarkup(keyboard)

					context.bot.sendPhoto(chat_id=query.chat.id, photo=notes.important.file_patch, caption='Выберите час', reply_markup=reply_markup)
					user.delete_dialog()
					return 'DIALOG'

				context.bot.sendPhoto(chat_id=query.chat.id, photo=notes.important.file_patch, caption=notes.important.body, reply_markup=notes.reply_markup)
				user.delete_dialog()

		return '{}'.format(step)