Advertisement
Guest User

Untitled

a guest
Mar 29th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.23 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import telebot
  3. # import config
  4. import psycopg2
  5. from telebot import types
  6.  
  7.  
  8. # from config
  9. token='176385051:AAF3asP2GWtrY871vUq9FndM8eKrLrxQE38'
  10.  
  11.  
  12. connect = psycopg2.connect(database='d1eam1hffgoggg',
  13.                            user='ravnyccawkzsbx',
  14.                            host='ec2-54-235-246-67.compute-1.amazonaws.com',
  15.                            password='0lo2zjah68Y2pHef7jRrh9KjqO')
  16. cursor = connect.cursor()
  17.  
  18. ticket = 'empty ticket'
  19.  
  20. bot = telebot.TeleBot(config.token)
  21.  
  22.  
  23. @bot.message_handler(commands=['start'])
  24. def show_start_message(message):
  25.     print(message.chat.id)
  26.     cursor.execute("insert into users (id_user, days) values (" + str(message.chat.id)+",5)")
  27.     connect.commit()
  28.     hello_message = "Добро пожаловать! \n " \
  29.                     "Базовые команды \n" \
  30.                     "/list_all_tickets \n" \
  31.                     "/help"
  32.     bot.send_message(message.chat.id, hello_message)
  33.  
  34.  
  35. @bot.message_handler(commands=['help'])
  36. def show_start_message(message):
  37.     help_message = "/list_all_tickets - показать список существующих квитанций \n" \
  38.                    "/list_tickets - просмотр активных квитанций \n" \
  39.                    "/days - установка числа - за сколько дней необходимо начать присылать напоминание \n" \
  40.                    "/clear - сброс параметров\n" \
  41.                    "/help - список всех команд "
  42.     bot.send_message(message.chat.id, help_message)
  43.  
  44. @bot.message_handler(commands=['days'])
  45. def show_start_message(message):
  46.     cursor.execute("select days from users where id_user="+ str(message.chat.id))
  47.     for row in cursor:
  48.         days = row[0]
  49.     days_message = "в течении "+str(days)+" дней будет приходить напоминание об оплате квитанции. "
  50.     markup = types.ReplyKeyboardMarkup(row_width=1)
  51.     markup.row('да')
  52.     markup.row('нет')
  53.     msg = bot.send_message(message.chat.id, days_message+"Хотите изменить это число?", reply_markup=markup)
  54.     bot.register_next_step_handler(msg, response_change_days)
  55.  
  56. def response_change_days(message):
  57.     chat_id = message.chat.id
  58.     if (message.text == 'да'):
  59.         print("да")
  60.         msg = bot.send_message(message.chat.id, "Введите число")
  61.         bot.register_next_step_handler(msg, change_days)
  62.     else:
  63.         print("нет")
  64.  
  65. def change_days(message):
  66.     cursor.execute("Update users set days="+str(message.text)+" where id_user="+str(message.chat.id))
  67.     connect.commit()
  68.     bot.send_message(message.chat.id, "Число изменено")
  69.  
  70. @bot.message_handler(commands=['list_all_tickets'])
  71. def show_start_message(message):
  72.     cursor.execute("SELECT ticket_name, active_row FROM all_tickets;")
  73.     list_all_tickets_message = ""
  74.     for row in cursor:
  75.         list_all_tickets_message = list_all_tickets_message + row[0].strip() + " " + row[1] + "\n"
  76.     bot.send_message(message.chat.id, list_all_tickets_message)
  77.  
  78. @bot.message_handler(commands=['list_tickets'])
  79. def show_start_message(message):
  80.     cursor.execute("select all_tickets.ticket_name, " \
  81.                    "all_tickets.active_row " \
  82.                    "from all_tickets " \
  83.                    "left outer join user_tickets " \
  84.                    "on user_tickets.id_ticket=all_tickets.id_ticket " \
  85.                    "where user_tickets.id_user="+str(message.chat.id))
  86.     list_tickets_message = ""
  87.     for row in cursor:
  88.         list_tickets_message = list_tickets_message + row[0].strip() + " " + row[1] + "\n"
  89.     bot.send_message(message.chat.id, "Список активных квитанций: \n"+ list_tickets_message)
  90.  
  91.  
  92. @bot.message_handler(commands=['t_1', 't_2', 't_3', 't_4', 't_5', 't_6', 't_7', 't_8', 't_9', 't_10', 't_11'])
  93. def add_ticket(message):
  94.     print(str(message.chat.id))
  95.     cursor.execute("select user_tickets.id_user, all_tickets.active_row " \
  96.                    "from user_tickets " \
  97.                    "left outer join all_tickets " \
  98.                    "on all_tickets.id_ticket=user_tickets.id_ticket " \
  99.                    "where user_tickets.id_user="+str(message.chat.id))
  100.     for row in cursor:
  101.         print(row[0], str(message.chat.id), row[1], message.text)
  102.         if ((str(row[0]) == str(message.chat.id)) and (str(row[1]).strip() == str(message.text))):
  103.             print("я зашел в if")
  104.             bot.send_message(message.chat.id, "квитанция " + message.text + " у вас есть")
  105.             markup = types.ReplyKeyboardMarkup(row_width=1)
  106.             markup.row('да')
  107.             markup.row('нет')
  108.             msg = bot.send_message(message.chat.id, "Удалить квитанцию?", reply_markup=markup)
  109.             bot.register_next_step_handler(msg, delete_active_ticket)
  110.             return
  111.     markup = types.ReplyKeyboardMarkup()
  112.     markup.row('да')
  113.     markup.row('нет')
  114.     msg = bot.send_message(message.chat.id, "Добавить квитанцию?", reply_markup=markup)
  115.     bot.register_next_step_handler(msg, add_active_ticket)
  116.     ticket = message.text # должен передавать в функцию delete_active_ticket значение /t_1
  117.  
  118.  
  119. def delete_active_ticket(message): pass
  120.     # if (message.text == 'да'):
  121.     #     print("да")
  122.     #     cursor.execute("delete from user_tickets where id_user="+str(message.chat.id)+" and id_ticket=")
  123.     #     connect.commit()
  124.     # else:
  125.     #     print("нет")
  126.  
  127.  
  128. def add_active_ticket(message):
  129.     # if (message.text == 'да'):
  130.     #     print("да")
  131.     #     cursor.execute("select id_ticket from all_tickets where active_row =" +row)
  132.     #     for new_row in cursor:
  133.     #         id_ticket = new_row[0]
  134.     #     cursor.execute("insert into all_tickets "
  135.     #                    "(id_user, id_ticket) "
  136.     #                    "values ("+ str(message.chat.id)+","
  137.     #                    + str(id_ticket).split() +")")
  138.     # else:
  139.     #     print("нет")
  140.     # ticket = None
  141.     return True
  142.  
  143.  
  144. if __name__ == '__main__':
  145.     bot.polling(none_stop=True)
  146.  
  147. connect.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement