python - 在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()
先感谢您!!
解决方案
推荐阅读
- scope - 如何通过 Google Drive API 仅访问我的文件?
- java - 引起:org.h2.jdbc.JdbcSQLException: 数据转换错误转换
- java - Java 语言在原型后生成中使用而不是 groovy
- java - 尝试选择随机单选按钮时出现错误“bound must be positive”
- python - 如何用 Python Gekko 解决绝对值 abs() 目标?
- django - 有没有办法在不删除 postgres 中的所有表的情况下向 postgres 添加模型?
- sql - 如何从查询中返回数据 select * from table in oracle,不使用 cursor ,带有 out 参数
- xslt - 如何识别大量员工中的特定员工组并为其分配 Y/N 标志
- python - 我如何创建从不同列表到不同列表的列表字典
- r - 是否有将 R 连接到 AWS SSM 的包?