Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. import time
  2. import requests
  3. import datetime
  4.  
  5. token = "AAGCHhtTx21cFaPypPgMjMfA6ZkWSpfPAxo"
  6. class BotHandler:
  7.  
  8. def __init__(self, token):
  9. self.token = token
  10. self.api_url = "https://api.telegram.org/bot{}/".format(token)
  11.  
  12. def get_updates(self, offset=None, timeout=30):
  13. method = 'getUpdates'
  14. params = {'timeout': timeout, 'offset': offset}
  15. resp = requests.get(self.api_url + method, params)
  16. result_json = resp.json()['result']
  17. return result_json
  18.  
  19. def send_message(self, chat_id, text):
  20. params = {'chat_id': chat_id, 'text': text}
  21. method = 'sendMessage'
  22. resp = requests.post(self.api_url + method, params)
  23. return resp
  24.  
  25. def get_last_update(self):
  26. get_result = self.get_updates()
  27.  
  28. if len(get_result) > 0:
  29. last_update = get_result[-1]
  30. else:
  31. last_update = get_result[len(get_result)]
  32.  
  33. return last_update
  34.  
  35. greet_bot = BotHandler(token)
  36. greetings = ('здравствуй', 'привет', 'ку', 'здорово')
  37. now = datetime.datetime.now()
  38.  
  39. def main():
  40. new_offset = None
  41. today = now.day
  42. hour = now.hour
  43.  
  44. while True:
  45. time.sleep(1)
  46. greet_bot.get_updates(new_offset)
  47.  
  48. last_update = greet_bot.get_last_update()
  49.  
  50. last_update_id = last_update['update_id']
  51. last_chat_text = last_update['message']['text']
  52. last_chat_id = last_update['message']['chat']['id']
  53. last_chat_name = last_update['message']['chat']['first_name']
  54.  
  55. if last_chat_text.lower() in greetings and today == now.day and 6 <= hour < 12:
  56. greet_bot.send_message(last_chat_id, 'Доброе утро, {}'.format(last_chat_name))
  57. today += 1
  58.  
  59. elif last_chat_text.lower() in greetings and today == now.day and 12 <= hour < 17:
  60. greet_bot.send_message(last_chat_id, 'Добрый день, {}'.format(last_chat_name))
  61. today += 1
  62.  
  63. elif last_chat_text.lower() in greetings and today == now.day and 17 <= hour < 23:
  64. greet_bot.send_message(last_chat_id, 'Добрый вечер, {}'.format(last_chat_name))
  65. today += 1
  66.  
  67. new_offset = last_update_id + 1
  68. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement