Как задать выполнение кода телеграм боту
У меня есть код который я хочу выполнить в телеграм боте. Возможно ли это сделать с помощью pyTelegramBotAPI?
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
import telebot
import config
driver = webdriver.Chrome()
driver.get(input("link here"))
driver.implicitly_wait(5)
search_box = driver.find_element(By.XPATH, '//*[@id="joinform-gamecode"]')
search_box.send_keys(input('Code here '))
search_box = driver.find_element(By.XPATH, '//*[@id="joinform-name"]')
search_box.send_keys(' ᠌ ᠌ ᠌᠌ ᠌ ᠌ ᠌ ᠌ ᠌ ')
search_button = driver.find_element(By.XPATH, '//*[@id="participate-form-code"]/button')
search_button.click()
time.sleep(10)
search_but = driver.find_element(By.XPATH, '/html/body/div[1]/div/div[2]/div/div/div/div/div[2]/div[2]/div/div[1]/div')
search_but.click()
search_bu = driver.find_element(By.XPATH, '//*[@id="w0"]/div/div/div[3]/div/a[3]/i')
search_bu.click()
print(driver.current_url)
Ответы (1 шт):
Автор решения: Gnifajio
→ Ссылка
Я думаю так:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
import telebot
import config
driver = webdriver.Chrome()
token='token'
bot=telebot.Telebot(token)
@bot.message_handler(commands=['run_selenium'])
def run_selenium_command(message):
bot.send_message(message.chat.id,"Starting...")
driver.get(input("link here>> "))
driver.implicitly_wait(5)
search_box = driver.find_element(By.XPATH, '//*[@id="joinform-gamecode"]')
search_box.send_keys(input('Code here>> '))
search_box = driver.find_element(By.XPATH, '//*[@id="joinform-name"]')
search_box.send_keys(' ᠌ ᠌ ᠌᠌ ᠌ ᠌ ᠌ ᠌ ᠌ ')
search_button = driver.find_element(By.XPATH, '//*[@id="participate-form-code"]/button')
search_button.click()
time.sleep(10)
search_but = driver.find_element(By.XPATH, '/html/body/div[1]/div/div[2]/div/div/div/div/div[2]/div[2]/div/div[1]/div')
search_but.click()
search_bu = driver.find_element(By.XPATH, '//*[@id="w0"]/div/div/div[3]/div/a[3]/i')
search_bu.click()
print(driver.current_url)
bot.infinity_poling()
Либо оберните свой код в функцию:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
import telebot
import config
driver = webdriver.Chrome()
def some_function_with_selenium():
driver.get(input("link here>> "))
driver.implicitly_wait(5)
...
search_bu.click()
print(driver.current_url)
token='token'
bot=telebot.Telebot(token)
@bot.message_handler(commands=['run_selenium'])
def run_selenium_command(message):
bot.send_message(message.chat.id,"Starting...")
some_function_with_selenium()
Я думаю суть ясна.