Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. import time
  4. import vk_api
  5. vk = vk_api.VkApi(login = 'login', password = 'password')
  6. #vk_api.VkApi(token = 'a02d...e83fd') #Авторизоваться как сообщество
  7. vk.auth()
  8. values = {'out': 0,'count': 100,'time_offset': 60}
  9.  
  10. def write_msg(user_id, s):
  11. vk.method('messages.send', {'user_id':user_id,'message':s})
  12.  
  13. while True:
  14. response = vk.method('messages.get', values)
  15. if response['items']:
  16. values['last_message_id'] = response['items'][0]['id']
  17. for item in response['items']:
  18. if response['items'][0]['body'] == 'privet':
  19. write_msg(item['user_id'],'privet')
  20. else:
  21. write_msg(item['user_id'],'pishite privet takimi bukvami')
  22.  
  23. time.sleep(1)
  24.  
  25. LOGIN = '<LOGIN>'
  26. PASSWORD = '<PASSWORD>'
  27.  
  28.  
  29. if __name__ == '__main__':
  30. import vk_api
  31. vk = vk_api.VkApi(login=LOGIN, password=PASSWORD)
  32. vk.auth()
  33.  
  34. # Ограничение бота, чтобы он не отвечал на свои же сообщения
  35. # Для снятие ограничения: bot_user_id = None
  36. rs = vk.method('users.get')
  37. bot_user_id = rs[0]['id']
  38.  
  39. last_message_bot_id = None
  40.  
  41. messages_get_values = {
  42. 'out': 0,
  43. 'count': 1,
  44. 'time_offset': 60,
  45. 'version': '5.67'
  46. }
  47.  
  48. while True:
  49. try:
  50. rs = vk.method('messages.get', messages_get_values)
  51. print(rs)
  52.  
  53. # Если ничего не пришло
  54. if not rs['items']:
  55. continue
  56.  
  57. message_id = rs['items'][0]['id']
  58. from_user_id = rs['items'][0]['user_id']
  59.  
  60. # Не будем отвечать на собственное сообщение
  61. if from_user_id == bot_user_id:
  62. continue
  63.  
  64. message = rs['items'][0]['body']
  65. print(' From user #{}, message (#{}): "{}"'.format(from_user_id, message_id, message))
  66.  
  67. message = 'Получена команда: "{}"'.format(message)
  68. last_message_bot_id = vk.method('messages.send', {'user_id': from_user_id, 'message': message})
  69.  
  70. messages_get_values['last_message_id'] = last_message_bot_id
  71.  
  72. except Exception as e:
  73. import traceback
  74. print('Error:', traceback.format_exc())
  75.  
  76. finally:
  77. import time
  78. time.sleep(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement