├── Procfile ├── requirements.txt ├── push.sh └── main.py /Procfile: -------------------------------------------------------------------------------- 1 | web: python main.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | vk-api==11.5.0 -------------------------------------------------------------------------------- /push.sh: -------------------------------------------------------------------------------- 1 | read -p "$*" 2 | 3 | git add . 4 | git pull 5 | git commit -m "sample text" 6 | git push github master -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import vk_api 2 | from vk_api.longpoll import VkLongPoll, VkEventType 3 | 4 | def write_msg(user_id, message): 5 | vk.method('messages.send', {'user_id': user_id, 'message': message, 'random_id': 0}) 6 | 7 | # API-ключ созданный ранее 8 | token = "646f8b5924863bbe7e28bc28ac3ad5f1de3c31b44b800f5b3fb504fcd961da09d62c9c9a0caef29b05330" 9 | 10 | # Авторизуемся как сообщество 11 | vk = vk_api.VkApi(token=token) 12 | 13 | # Работа с сообщениями 14 | longpoll = VkLongPoll(vk) 15 | 16 | # Бинд к порту heroku чтобы не крашил после 60 секунд 17 | 18 | import os 19 | import socket 20 | import sys 21 | ON_HEROKU = os.environ.get('ON_HEROKU') 22 | if ON_HEROKU: 23 | # get the heroku port 24 | port = int(os.environ.get("PORT", 17995)) # as per OP comments default is 17995 25 | ssocket = socket.socket(socket.AF_NET, socket.SOCK_STREAM) 26 | server_address = ('localhost', port) 27 | ssocket.bind(server_address) 28 | 29 | # Основной цикл 30 | for event in longpoll.listen(): 31 | 32 | # Если пришло новое сообщение 33 | if event.type == VkEventType.MESSAGE_NEW: 34 | 35 | # Если оно имеет метку для меня( то есть бота) 36 | if event.to_me: 37 | 38 | # Сообщение от пользователя 39 | request = event.text 40 | 41 | # Каменная логика ответа 42 | if request == "привет": 43 | write_msg(event.user_id, "Хай") 44 | elif request == "пока": 45 | write_msg(event.user_id, "Пока((") 46 | else: 47 | write_msg(event.user_id, "Не поняла вашего ответа...") 48 | --------------------------------------------------------------------------------