diff --git a/LICENSE b/LICENSE index 1038e51..2f77c35 100644 --- a/LICENSE +++ b/LICENSE @@ -5,8 +5,9 @@ Copyright (c) 2017 Sergey Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, and to permit persons to whom -the Software is furnished to do so, subject to the following conditions: +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. diff --git a/Procfile b/Procfile deleted file mode 100644 index e1d63e3..0000000 --- a/Procfile +++ /dev/null @@ -1 +0,0 @@ -bot: python3 bot.py diff --git a/README.md b/README.md index 11931b1..b0fdc09 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,10 @@ # tgvkbot Бот позволяет получать и отправлять сообщения VK находясь в Telegram - -[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy) - - -[Ветка](https://github.com/Kylmakalle/tgvkbot/tree/webhook) для деплоя на локальной машине (поддерживаются вебхуки и лонгполлинг, закомментируйте и раскомментируйте нужные строки) +Поддерживаются вебхуки и лонгполлинг, закомментируйте и раскомментируйте нужные строки Настройка вебхуков по гайду от [@Groosha](https://www.gitbook.com/book/groosha/telegram-bot-lessons) -## Stay Tuned! - -_Полноценные комментарии к коду будут чуть позже_ \ No newline at end of file +[Использование](https://www.asergey.me/tgvkbot/usage) diff --git a/app.json b/app.json deleted file mode 100644 index 2ad6f46..0000000 --- a/app.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "tgvkbot", - "description": "Бот позволяет получать и отправлять сообщения VK находясь в Telegram", - "repository": "https://github.com/Kylmakalle/tgvkbot", - "keywords": ["vk", "bot", "telegram"], - "website": "https://asergey.me/tgvkbot/", - "buildpacks":[ - { - "url": "heroku/python" - } - ], - "env": { - "TELEGRAM_TOKEN": { - "description": "Telegram bot API токен от https://t.me/BotFather", - "value": "123456789:AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLL" - }, - "VK_APP": { - "description": "ID VK приложения из https://vk.com/apps?act=manage", - "required": true - } - }, - "addons": [ - { - "plan": "heroku-redis:hobby-dev", - "as": "Redis" - } - ], -"formation": { - "bot": { - "quantity": 1, - "size": "free" - } - } -} diff --git a/bot.py b/bot.py index 52ea4d3..f014708 100644 --- a/bot.py +++ b/bot.py @@ -13,7 +13,9 @@ import time from PIL import Image from telebot import types -from credentials import token, vk_app_id +import cherrypy + +from credentials import token, vk_app_id, bot_url, local_port from vk_messages import VkMessage, VkPolling vk_threads = {} @@ -22,7 +24,8 @@ vk_dialogs = {} FILE_URL = 'https://api.telegram.org/file/bot{0}/{1}' -vk_tokens = redis.from_url(os.environ.get("REDIS_URL")) +tokens_pool = redis.ConnectionPool(host='localhost', port=6379, db=0) +vk_tokens = redis.StrictRedis(connection_pool=tokens_pool) currentchat = {} @@ -659,7 +662,6 @@ def reply_text(message): create_thread(message.from_user.id, code) bot.send_message(message.from_user.id, 'Вход выполнен в аккаунт {} {}!'.format(user['first_name'], user['last_name'])).wait() - bot.send_message(message.from_user.id, '[Использование](https://asergey.me/tgvkbot/usage/)', parse_mode='Markdown').wait() except: @@ -676,9 +678,11 @@ def reply_text(message): except Exception: bot.reply_to(message, 'Произошла неизвестная ошибка при отправке', parse_mode='Markdown').wait() + print('Error: {}'.format(traceback.format_exc())) -bot.polling(none_stop=True) -"""class WebhookServer(object): + +# bot.polling(none_stop=True) +class WebhookServer(object): # index равнозначно /, т.к. отсутствию части после ip-адреса (грубо говоря) @cherrypy.expose def index(self): @@ -696,4 +700,4 @@ if __name__ == '__main__': cherrypy.config.update( {'server.socket_host': '127.0.0.1', 'server.socket_port': local_port, 'engine.autoreload.on': False, 'log.screen': False}) - cherrypy.quickstart(WebhookServer(), '/', {'/': {}})""" + cherrypy.quickstart(WebhookServer(), '/', {'/': {}}) diff --git a/credentials.py b/credentials.py index 3bfa200..771a575 100644 --- a/credentials.py +++ b/credentials.py @@ -1,3 +1,4 @@ -import os -token = os.environ['TELEGRAM_TOKEN'] -vk_app_id = os.environ['VK_APP'] \ No newline at end of file +token = '123456789:hciowedjejd092jjasdasdmdkpoaasd' +vk_app_id = "5678910" +bot_url = 'www.mybot.com' +local_port = 7777 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index b250be9..0000000 --- a/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -pyTelegramBotAPI -vk -redis -Pillow -ujson -wget diff --git a/runtime.txt b/runtime.txt deleted file mode 100644 index c91e43b..0000000 --- a/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-3.6.1 diff --git a/vk_messages.py b/vk_messages.py index 5a9a165..4755be0 100644 --- a/vk_messages.py +++ b/vk_messages.py @@ -7,10 +7,9 @@ import vk import ujson import wget - logging.basicConfig(format='%(levelname)-8s [%(asctime)s] %(message)s', level=logging.WARNING, filename='vk.log') -vk_tokens = redis.from_url(os.environ.get("REDIS_URL")) - +tokens_pool = redis.ConnectionPool(host='localhost', port=6379, db=0) +vk_tokens = redis.StrictRedis(connection_pool=tokens_pool) class VkPolling: