Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Тг бот на python с помощью Replit Цель: библиотека wikipedia

Сергей Фомичёв Ученик (193), на голосовании 6 месяцев назад
Делаю тг бота на пайтоне всё работает хорошо, но он не может найти мой вопрос ( 1 картинка ) Суть бота это найти ответ в Википедии и сократить его до 1000 символов
Всё библиотеки подгружаны , токен привязан но всё равно он отвечает что такого нет.
Помогите где ошибка дам исходный код только помогите ???
Голосование за лучший ответ
スネーク フリーフライト Ученик (148) 7 месяцев назад
В комментариях
スネーク フリーフライトУченик (148) 7 месяцев назад
Щас попробую разобраться, раньше с википедией не работал
スネーク フリーフライトУченик (148) 7 месяцев назад
Попробуй это:

def getwiki(s):
try:
ny = wikipedia.Page (s)
wikitext = ny.content[:1000]
wikimas = wikitext.split(".")
wikimas = wikimas[:-1]

wikitext2 = ""
for x in wikimas:
if "==" not in x:
if len(x.strip()) >= 3:
wikitext2 += x + "."
else:
pass

return wikitext2.strip()

except wikipedia.exceptions.PageError:
return "Ошибка"
except wikipedia.exceptions.DisambiguationError:
return "Ошибка"
スネーク フリーフライトУченик (148) 7 месяцев назад
Честно, не понял что с 25 по 27 строку
スネーク フリーフライトУченик (148) 7 месяцев назад
Ща отсылки посмотрю
スネーク フリーフライトУченик (148) 7 месяцев назад
Вот Полный код с фото работы:
スネーク フリーフライトУченик (148) 7 месяцев назад
import telebot
import wikipedia

token = '7169432779:AAFkLlQDq9tjFCtstPLYHDsMV0QWucwfE2Q'
bot = telebot.TeleBot(token)

def getwiki(s):
try:
ny = wikipedia.page (s)
wikitext = ny.content[:1000]
wikimas = wikitext.split(".")
wikimas = wikimas[:-1] # Remove the last sentence (often incomplete)

wikitext2 = ""
for x in wikimas:
if "==" not in x:
if len(x.strip()) >= 3: # Exclude sentences shorter than 3 characters
wikitext2 += x + ". "
else:
pass # Do nothing if the sentence is too short

return wikitext2.strip() # Remove trailing space
Похожие вопросы