Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from datetime import datetime
- import telebot
- import constants
- import timetable
- bot = telebot.TeleBot(constants.test_token)
- users = {}
- print(bot.get_me())
- def log(message, answer):
- print('\n -------------------------------------')
- print(datetime.now())
- print('Повідомлення від {0} {1}. (id = {2}) \n Текст - {3}'.format(message.from_user.first_name,
- message.from_user.last_name,
- str(message.from_user.id),
- message.text))
- print(answer)
- @bot.message_handler(commands=['start'])
- def hundle_start(message):
- if str(message.from_user.id) not in users:
- users[str(message.from_user.id)] = {'name': message.from_user.first_name,
- 'week': 'auto',
- 'group': 'none',
- }
- print(f'New user:\n name: {message.from_user.first_name}, id: {message.from_user.id}')
- print(f'Whole list of users:\n{users}')
- bot.send_message(message.chat.id, '''
- Цей бот створений для групи ЖРН-12С, а зокрема для найгарнішої киці)
- Команди:
- /Menu - головне меню
- Щоб отримати розклад натисніть на відповіну кнопку на клавіатурі
- (Питання/пропозиції @dark_or)
- ''')
- @bot.message_handler(commands=['main', 'Меню', 'Menu', 'menu'])
- def handle_main(message):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('/Timetable')
- user_markup.row('/Time')
- user_markup.row('/Settings')
- bot.send_message(message.from_user.id, 'Головне меню:', reply_markup=user_markup)
- @bot.message_handler(commands=['Time'])
- def handle_time(message):
- bot.send_message(message.from_user.id,
- 'Час:\nПочаток - закінчення пар:\n1. 8:30 - 9:50\n2. 10:10 - 11:30\n3. 11:50 - 13:10\n4. 13:30 - 14:50')
- @bot.message_handler(commands=['Timetable'])
- def hundle_keyboard(message):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('Понеділок', 'Вівторок', 'Середа')
- user_markup.row('Четвер', "П'ятниця", '/Menu')
- bot.send_message(message.from_user.id, 'Виберіть день тижня, або поверніться у меню', reply_markup=user_markup)
- @bot.message_handler(commands=['Налаштування', 'Settings'])
- def hundle_settings(message):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('/Subgroup_type')
- user_markup.row('/Week_type')
- user_markup.row('/Menu')
- bot.send_message(message.from_user.id, 'Налаштування:', reply_markup=user_markup)
- @bot.message_handler(commands=['Subgroup_type'])
- def hundle_group(message):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('/none')
- user_markup.row('/Підгрупа_1', '/Підгрупа_2')
- user_markup.row('/Settings', '/Menu')
- bot.send_message(message.from_user.id, 'Виберіть підгрупу:', reply_markup=user_markup)
- @bot.message_handler(commands=['Week_type'])
- def hundle_week(message):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('/auto')
- user_markup.row('/чисельник', '/знаменник')
- user_markup.row('/Settings', '/Menu')
- bot.send_message(message.from_user.id, 'Виберіть тип тижня:', reply_markup=user_markup)
- @bot.message_handler(commands=['auto'])
- def hundle_week_auto(message):
- users[str(message.from_user.id)]['week'] = 'auto'
- bot.send_message(message.from_user.id, 'Type of week was changed successfully!')
- @bot.message_handler(commands=['чисельник'])
- def hundle_week_chuselnuk(message):
- users[str(message.from_user.id)]['week'] = 'чисельник'
- bot.send_message(message.from_user.id, 'Type of week was changed successfully!')
- @bot.message_handler(commands=['знаменник'])
- def hundle_week_chuselnuk(message):
- users[str(message.from_user.id)]['week'] = 'знаменник'
- bot.send_message(message.from_user.id, 'Type of week was changed successfully!')
- @bot.message_handler(commands=['none'])
- def hundle_group_group1(message):
- users[str(message.from_user.id)]['group'] = 'none'
- bot.send_message(message.from_user.id, 'Type of group was changed successfully!')
- @bot.message_handler(commands=['Підгрупа_1'])
- def hundle_group_group1(message):
- users[str(message.from_user.id)]['group'] = 'підгрупа_1'
- bot.send_message(message.from_user.id, 'Type of group was changed successfully!')
- @bot.message_handler(commands=['Підгрупа_2'])
- def hundle_group_group2(message):
- users[str(message.from_user.id)]['group'] = 'підгрупа_2'
- bot.send_message(message.from_user.id, 'Type of group was changed successfully!')
- @bot.message_handler(content_types=['text'])
- def hundle_text(message):
- if users[str(message.from_user.id)]['week'] == 'auto':
- week_number = int(datetime.now().strftime("%V"))
- elif users[str(message.from_user.id)]['week'] == 'чисельник':
- week_number = 2
- elif users[str(message.from_user.id)]['week'] == 'знаменник':
- week_number = 1
- if week_number % 2 == 0:
- # чисельник
- if users[str(message.from_user.id)]['group'] == 'none':
- if message.text in timetable.time_table_chuselnuk_none:
- answer = timetable.time_table_chuselnuk_none[message.text]
- log(message, answer)
- bot.send_message(message.chat.id, timetable.time_table_chuselnuk_none[message.text])
- elif users[str(message.from_user.id)]['group'] == 'підгрупа_1':
- if message.text in timetable.time_table_chuselnuk_group_1:
- answer = timetable.time_table_chuselnuk_group_1[message.text]
- log(message, answer)
- bot.send_message(message.chat.id, timetable.time_table_chuselnuk_group_1[message.text])
- elif users[str(message.from_user.id)]['group'] == 'підгрупа_2':
- if message.text in timetable.time_table_chuselnuk_group_2:
- answer = timetable.time_table_chuselnuk_group_2[message.text]
- log(message, answer)
- bot.send_message(message.chat.id, timetable.time_table_chuselnuk_group_2[message.text])
- if week_number % 2 == 1:
- # знаменник
- if users[str(message.from_user.id)]['group'] == 'none':
- if message.text in timetable.time_table_znamennuk_none:
- answer = timetable.time_table_znamennuk_none[message.text]
- log(message, answer)
- bot.send_message(message.chat.id, timetable.time_table_znamennuk_none[message.text])
- elif users[str(message.from_user.id)]['group'] == 'підгрупа_1':
- if message.text in timetable.time_table_znamennuk_group_1:
- answer = timetable.time_table_znamennuk_group_1[message.text]
- log(message, answer)
- bot.send_message(message.chat.id, timetable.time_table_znamennuk_group_1[message.text])
- elif users[str(message.from_user.id)]['group'] == 'підгрупа_2':
- if message.text in timetable.time_table_znamennuk_group_2:
- answer = timetable.time_table_znamennuk_group_2[message.text]
- log(message, answer)
- bot.send_message(message.chat.id, timetable.time_table_znamennuk_group_2[message.text])
- if str(message.from_user.id) == constants.id_martu:
- answer = 'Ти вибрана, кицю) '
- bot.send_message(message.chat.id, 'Ти вибрана, кицю)')
- log(message, answer)
- print(users)
- bot.polling(none_stop=True, interval=0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement