Не работает код python telegram
Бот в телеграм никак не реагирует на команды, что может быть не так с кодом. Вроде все верно написано.
import requests
from bs4 import BeautifulSoup
from telegram.ext import CommandHandler, Updater
def parse_kwork(category):
url = f"https://kwork.ru/projects?categories={category}"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
projects = soup.find_all("div", class_="card-proj")
results = []
for project in projects:
title = project.find("a", class_="card-proj__title").text.strip()
price = project.find("span", class_="card-proj__price").text.strip()
description = project.find("div", class_="card-proj__desc").text.strip()
results.append({"title": title, "price": price, "description": description})
return results
def start(update, context):
context.bot.send_message(chat_id=update.effective_chat.id, text="Привет! Я бот для поиска заданий на kwork.ru. Введите /parse и категорию заданий, чтобы начать поиск.")
def parse(update, context):
category = context.args[0]
results = parse_kwork(category)
if results:
for result in results:
message = f"{result['title']}\nЦена: {result['price']}\nОписание: {result['description']}"
context.bot.send_message(chat_id=update.effective_chat.id, text=message)
else:
context.bot.send_message(chat_id=update.effective_chat.id, text="К сожалению, заданий в выбранной категории не найдено.")
updater = Updater(token="YOUR_TOKEN", use_context=True)
dispatcher = updater.dispatcher
start_handler = CommandHandler("start", start)
parse_handler = CommandHandler("parse", parse)
dispatcher.add_handler(start_handler)
dispatcher.add_handler(parse_handler)
updater.start_polling()
Источник: Stack Overflow на русском