запустить несколько вибер-ботов на флеш-сервере - PullRequest
0 голосов
/ 30 декабря 2018

я сделал бот на Vithonработает нормально.сейчас я пытаюсь запустить несколько ботов на одном веб-сервере.первый бот работает, а второй нет.

app = Flask(__name__)  


app2 = Flask('app2')
@app.route('/', methods=['POST'])
def incoming():
    viber_request = viber.parse_request(request.get_data())
    if isinstance(viber_request, ViberMessageRequest):
         viber.send_messages(viber_request.sender.id,[TextMessage(text='test1')] )

@app2.route('/ff', methods=['POST'])
def incoming2():
    viber_request = viber.parse_request(request.get_data())
    if isinstance(viber_request, ViberMessageRequest):
         viber.send_messages(viber_request.sender.id,[TextMessage(text='test2')] )

def set_webhook(viber):
    viber.unset_webhook()
    time.sleep(1)
    viber.set_webhook('https://myhost.pythonanywhere.com')

def set_webhook2(viber2):
    viber2.unset_webhook()
    time.sleep(1)
    viber2.set_webhook('https://myhost.pythonanywhere.com/ff')



if __name__ == "__main__":
    scheduler = sched.scheduler(time.time, time.sleep)
    scheduler.enter(5, 1, set_webhook, (viber,))
    t = threading.Thread(target=scheduler.run)
    t.start()

    scheduler = sched.scheduler(time.time, time.sleep)
    scheduler.enter(5, 1, set_webhook2, (viber2,))
    t = threading.Thread(target=scheduler.run)
    t.start()


    app.run(host='https://myhost.pythonanywhere.com', port=8443, debug=True)
    app2.run(host='https://myhost.pythonanywhere.com/ff', port=8080, debug=True)

первый бот отвечает test1, а второй молчит.Как правильно запустить несколько ботов на одном веб-сервере?Оба токена верны

1 Ответ

0 голосов
/ 30 декабря 2018

Возможной причиной может быть то, что вы используете:

@app.route('/ff', methods=['POST'])

вместо

@app2.route('/ff', methods=['POST'])

В другой заметке вам не нужно создавать 2 разных приложения.Если вы удалите последнюю строку (app2.run (host = 'https://myhost.pythonanywhere.com/ff', port = 8080, debug = True)) из своего кода, тогда ваш код будет работать нормально, и вы сможете получить доступ к первому боту с https://myhost.pythonanywhere.com/ на порт 8443 и второй бот на https://myhost.pythonanywhere.com/ff на порт 8443

...