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.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 hundler_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_menu(message):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('Розклад')
- user_markup.row('Час занять')
- user_markup.row('Налаштування')
- bot.send_message(message.from_user.id, 'Головне меню:', reply_markup=user_markup)
- @bot.message_handler(content_types=['text'])
- def hundle_timetable(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(content_types=['text'])
- def hundle_settings(message=['Налаштування']):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('Підгрупа')
- user_markup.row('Тиждень')
- user_markup.row('/Menu')
- bot.send_message(message.from_user.id, 'Налаштування:', reply_markup=user_markup)
- @bot.message_handler(content_types=['text'])
- def hundler_subgroup(message=['Підгрупа']):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('Ігнорувати підгрупу')
- user_markup.row('Підгрупа 1', 'Підгрупа 2')
- user_markup.row('Налаштування', '/Menu')
- bot.send_message(message.from_user.id, 'Виберіть підгрупу:', reply_markup=user_markup)
- @bot.message_handler(content_types=['text'])
- def hundler_week(message=['Тиждень']):
- user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
- user_markup.row('Визначати автоматично')
- user_markup.row('Чисельник', 'Знаменник')
- user_markup.row('Налаштування', '/Menu')
- bot.send_message(message.from_user.id, 'Виберіть тип тижня:', reply_markup=user_markup)
- @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])
- print(users)
- bot.polling(none_stop=True, interval=0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement