Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. from fbchat import Client, log
  2. from getpass import getpass
  3. from datetime import datetime
  4. import time
  5.  
  6. username = str(raw_input("Username: "))
  7. password = getpass()
  8.  
  9. client = Client(username, password)
  10.  
  11.  
  12. def do_rest(thread):
  13. data = str(thread).split(" ")
  14. if len(data) == 4:
  15. flag = 1000
  16. num = 0
  17. timestamp = int(19800 + time.time())*1000
  18. while( flag > 999):
  19. messages = client.fetchThreadMessages(thread_id=id, limit=1000, before=timestamp)
  20. timestamp = messages[len(messages)-1].timestamp
  21. flag = len(messages)
  22. num += flag
  23. print num, " messages had been downloaded from today till - ",datetime.utcfromtimestamp(float(timestamp)/1000).strftime('%d-%m-%Y')
  24. file.close()
  25.  
  26. if len(data) == 3:
  27. id = data[2].split('(')[1].split(')')[0]
  28. flag = 1000
  29. num = 0
  30. timestamp = int(19800 + time.time())*1000
  31. while( flag > 999):
  32. messages = client.fetchThreadMessages(thread_id=id, limit=1000, before=timestamp)
  33. timestamp = messages[len(messages)-1].timestamp
  34. flag = len(messages)
  35. num += flag
  36. print num, " messages had been downloaded from today till - ",datetime.utcfromtimestamp(float(timestamp)/1000).strftime('%d-%m-%Y')
  37. file.close()
  38.  
  39. username = str(raw_input("want to download messages from a specific friend type(y/n): "))
  40.  
  41. if username.lower() == 'y':
  42. names = str(raw_input("Name of that friends separated by a comma like - satyendra pandey, Narendra pandey--: "))
  43. names = names.split(',')
  44. for name in names:
  45. thread = client.searchForThreads(name)[0]
  46. do_rest(thread)
  47. if zipping.lower() == 'y':
  48. make_zip()
  49.  
  50. else:
  51. num = int(raw_input("Number of friends from top of your chatlist:"))
  52. if num < 20:
  53. threads = client.fetchThreadList(limit = num)
  54.  
  55. else:
  56. threads = client.fetchThreadList(limit = 20)
  57. num = (num-20)/20
  58.  
  59. for i in range(num):
  60. offset = 20*(i+1)
  61. threads += client.fetchThreadList(offset = offset, limit= 20)
  62.  
  63. for thread in threads:
  64. do_rest(thread)
  65. if zipping.lower() == 'y':
  66. make_zip()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement