首页 > 解决方案 > 在heroku中部署whatsapp bot不起作用

问题描述

我尝试构建一个简单的whatsapp bot,它会在被要求时为我提供新的google meet 链接,并为我提供随机的笑话和模因。所以随机笑话段工作正常,但会议链接生成部分导致所有问题。我使用 selenium 自动化浏览器并将链接转移给我,并将以下代码保存到单独的文件中,并将其导入到主文件中。我对笑话管理部分做了同样的事情,在笑话管理部分我使用了 dialogflow 和 twilio 。这是从 google meet 生成链接的代码,它不起作用:

import os
from selenium import webdriver 

def replya():

    op = webdriver.Chromedriver
    op.binary_location = os.environ.get("GOOGLE_CHROME_BIN")
    op.add_argumnet("--headless")

    driver = webdriver.Chrome(executable_path= os.environ.get('CHROMEDRIVER_PATH'),chrome_options=op)
    driver.implicitly_wait(20)
    driver.get("https://meet.google.com/")

    #clicking the meeting tab

    Tosignin=driver.find_element_by_css_selector('#page-content > section.module-hero.glue-mod-spacer-6-top.glue-mod-spacer-6-bottom.hero > div > div:nth-child(1) > div.primary-meet-cta.hero-cta >div>a > button')

    Tosignin.click()
    driver.implicitly_wait(10)

    #to sign in
    password = "Will be managing this part later"
    email= "Will be managing this part later"
    driver.find_element_by_xpath('//*[@id="identifierId"]').send_keys(email)
    driver.find_element_by_id('identifierNext').click()

    driver.find_element_by_xpath('//*[@id="password"]/div[1]/div/div[1]/input').send_keys(password)
    driver.find_element_by_xpath('//*[@id="passwordNext"]/div/button/div[2]').click()

    driver.find_element_by_xpath('//*[@id="yDmH0d"]/div[3]/div/div[2]/div[3]/div/span/span').click()

    url=driver.current_url

    driver.close()
    driver.quit()
    return url

我已经在heroku中部署了应用程序(大小=200.3mib of 500 mib),我在构建包中添加了chrome驱动程序,为驱动程序添加了配置的必需值和键,还分别更新了需求文件,但应用程序仍然只响应当被问到笑话时。这是主要代码:

from flask import Flask, request
from twilio.twiml.messaging_response import MessagingResponse

from utils import fetch_reply           #replying with jokes
from automeetlinkgen import replya      #replying with links

app = Flask(__name__)


@app.route("/")
def hello():
    return "ARTGOBLIN!"

@app.route("/sms", methods=['POST'])
def sms_reply():
"""Respond to incoming calls with a simple text message."""
    # Fetch the message
    msg = request.form.get('Body')
    phone_no=request.form.get('From')



    if msg=="meet":
        reply=replya()

    else:
        reply= fetch_reply(msg,phone_no)

    # Create reply
    resp = MessagingResponse()
    resp.message(reply)

    return str(resp)



if __name__ == "__main__":
    app.run()

先感谢您!!

标签: pythonherokutwiliobots

解决方案


推荐阅读