Revert "Merge pull request #9 from Kylmakalle/webhook"

This reverts commit 47fc72df23608639d1416ee38a4d897d0d11cfde, reversing
changes made to ff27f0b2d791dfbb9fc4faa7fd96e5a09231b711.

wrong merge reverting
This commit is contained in:
Kylmakalle 2017-09-05 00:52:31 +03:00
parent 47fc72df23
commit 393fca6529
9 changed files with 62 additions and 26 deletions

View File

@ -5,9 +5,8 @@ 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, 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:
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:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

1
Procfile Normal file
View File

@ -0,0 +1 @@
bot: python3 bot.py

View File

@ -1,14 +1,17 @@
# tgvkbot
Бот позволяет получать и отправлять сообщения VK находясь в Telegram
https://www.asergey.me/tgvkbot
Поддерживаются вебхуки и лонгполлинг, закомментируйте и раскомментируйте нужные строки
[![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!
[Использование](https://www.asergey.me/tgvkbot/usage)
олноценные комментарии к коду будут чуть позже_

34
app.json Normal file
View File

@ -0,0 +1,34 @@
{
"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"
}
}
}

20
bot.py
View File

@ -13,13 +13,7 @@ import redis
import vk
import wget
from PIL import Image
from telebot import types
import cherrypy
from credentials import token, vk_app_id, bot_url, local_port
from credentials import token, vk_app_id
from vk_messages import VkMessage, VkPolling
vk_threads = {}
@ -28,8 +22,7 @@ vk_dialogs = {}
FILE_URL = 'https://api.telegram.org/file/bot{0}/{1}'
tokens_pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
vk_tokens = redis.StrictRedis(connection_pool=tokens_pool)
vk_tokens = redis.from_url(os.environ.get("REDIS_URL"))
currentchat = {}
@ -675,6 +668,7 @@ 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:
@ -691,12 +685,10 @@ 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):
@ -714,4 +706,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(), '/', {'/': {}})"""

View File

@ -1,4 +1,3 @@
token = '123456789:hciowedjejd092jjasdasdmdkpoaasd'
vk_app_id = "5678910"
bot_url = 'www.mybot.com'
local_port = 7777
import os
token = os.environ['TELEGRAM_TOKEN']
vk_app_id = os.environ['VK_APP']

6
requirements.txt Normal file
View File

@ -0,0 +1,6 @@
pyTelegramBotAPI
vk
redis
Pillow
ujson
wget

1
runtime.txt Normal file
View File

@ -0,0 +1 @@
python-3.6.1

View File

@ -7,9 +7,10 @@ import vk
import ujson
import wget
logging.basicConfig(format='%(levelname)-8s [%(asctime)s] %(message)s', level=logging.WARNING, filename='vk.log')
tokens_pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
vk_tokens = redis.StrictRedis(connection_pool=tokens_pool)
vk_tokens = redis.from_url(os.environ.get("REDIS_URL"))
class VkPolling: