#python #heroku #twilio #bots
#питон #героку #твилио #боты
Вопрос:
Я попытался создать простой WhatsApp-бот, который будет выдавать мне новые ссылки на 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,3 мб из 500 МБ), и там я добавил драйвер 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()
Заранее благодарю вас!!
Комментарии:
1. В чем именно проблема? Есть ли какие-либо сообщения об ошибках, которыми вы можете поделиться? Можете ли вы подтвердить, что
replya()
это вызывается?2. Сэр, я пытался создать бота WhatsApp, который будет отвечать мне случайными шутками и ссылками на случайные встречи, когда его спросят. Итак, replya() — это отдельный вызов функции, в котором я объявил программу-драйвер Chrome для автоматизации браузера и предоставления соответствующей ссылки. К сожалению, когда я развернул приложение в heroku, оно не отвечает и постоянно падает.
3. вы выяснили, где возникает проблема? работает ли это на локальном хостинге?