MuckRuno
@MuckRuno
Молодой начинающий разработчик, активно развиваю б

Команда бота работает некорректно, как исправить?

Использую библиотеку TELEBOT.
Импортировал bs4 requests telebot.
Токен добавил и handler тоже.
При запуске ошибок не выдает, все команды работают кроме этой:

def getanekdot():
    z=''
    s=requests.get('http://anekdotme.ru/random')
    b=bs4.BeautifulSoup(s.text, "html.parser")
    p=b.select('.anekdot_text')
    for x in p:        
        s=(x.getText().strip())
        z=z+s+'\n\n'
    return s
    
def handle_text(message):
    msg=message.text
    msg=msg.lower()
    if message.text == 'анекдот':
            bot.send_message(message.chat.id, getanekdot())

Работает без ошибок, но если написать боту "анекдот", молчит.
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
Musickk
@Musickk
Пёс
вы забыли прописать content_types, вот в чём ваша ошибка :)
import telebot
from telebot import types
import bs4
from bs4 import BeautifulSoup
import requests


def getanekdot():
    z=''
    s=requests.get('http://anekdotme.ru/random')
    b=bs4.BeautifulSoup(s.text, "html.parser")
    p=b.select('.anekdot_text')
    for x in p:        
        s=(x.getText().strip())
        z=z+s+'\n\n'
    return s

@bot.message_handler(content_types='text')
def handle_text(message):
    msg=message.text
    msg=msg.lower()
    if message.text == 'анекдот':
        bot.send_message(message.chat.id, getanekdot())
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы