Нужна помощь в написании бота на Python

Большое спасибо, обязательно учту все свои ошибки

Я прошу прощения, но у меня возникла новая проблема, буду благодарен за вашу помощь
я думаю, что я исправил синтаксические ошибки, однако теперь при запуске бот возникает ошибка

Traceback (most recent call last):File "D:\слава ситису\Курс.py", line 7, in <module>@bot.massage_handler(commands=['start'])AttributeError: 'TeleBot' object has no attribute 'massage_handler'

вот переписанный код:

import telebot
import config


bot = telebot.TeleBot(config.TG_TOKEN)

@bot.massage_handler(commands=['start'])
def welcom(message):
	
	bot.send_message(message.chat.id, 'Хай бейби, хай!')

import erqests
import Beautifuls
import time 

class curency:
 DOLLAR_RUB = 'https://yandex.ru/search/?clid=2297897&text=rehc%20ljkkfhf&l10n=ru&lr=65'
headers =  {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36 OPR/67.0.3575.105'} 

current_converted_print = 0
difference = 5

def _init_(self):
 self.current_converted_print = float(self.get_currency_price())

def get_currency_print(self):
 full_page = requests.get(DOLLAR_RUB, headers=self.headers)
 soup = deautidulSoup (full_page.content, 'html.parser')

 convert = soup.findAll("span", {"class": "DFlfde", "class": "SwHCTb", "data-precision": 2})

  

def check_currensy(self): 
    bot.send_message(message.chat.id ("Керюха, по курс один доллар равен") + str(currensy))
    currency = float(self.get_currency_prise().replace(",","."))
    if cuttency >= self.corrent_coverted_price + self.difference:
            bot.send_message(message.chat.id("Курс сильно вырос, готовь заначку "))
    elif cuttency <= self.corrent_coverted_price - self.difference:bot.send_message(message.chat.id("Курс сильно упал, можно закупаться видео-картами"))
    time.sleep(3)
    check_currency()

currency = currency()
currency.check_currency()

bot.polling(none_stop=True)

Может быть, message_handler?

спасибо, не заметил

теперь выводит другую ошибку

Traceback (most recent call last):
File “D:\слава ситису\Курс.py”, line 12, in
import erqests
ModuleNotFoundError: No module named ‘erqests’

Еще например 2 одинаковых ключа не может быть в dict ({ ... }), видимо там надо что-то другое вместо повтора class. И эти имена классов выглядят сгенерированными, возможно они периодически меняются, лучше подумать как сделать другой селектор.

Вообще для курса валют наверняка полно API, не надо парсить HTML для такого.

видимо requests


И используйте кнопку Код при выкладывании кода. FAQ по функциональности форума, отличия от классических форумных движков

благодарю, обязательно учту

Перевожу: requests

Такие ошибки в первую очередь проверяйте на опечатки.

UPD. Не увидел, что уже ответили :slight_smile:

Вывело то, что нет модуля BeautifulSoup
переписал import Beautifuls на From bs4 import BeautifulSoup (так было источнике от куда я брал эту часть кода)
теперь выводит ошибку: нет модуля с именем bs4
скажите, что исправить?

Не силён в питоне, но яндекс мне вот тут подсказывает import beautifulsoup
А про Beautifuls ничего не подсказывает

Может быть, ошибки в исходнике?

извиняюсь это я печатался в вопросе) там как раз токи import beautifulsoup

Тогда питон просто не знает путь к собственным библиотекам. Я такую фигню получал, когда одновременно поставил 2.7 и 3.

Можно сделать такой финт ушами (пример нагло выкраден из нета). Учтите, что в примере - Linux

import sys
sys.path[0:0] = ['/usr/home/myName/.local/lib/python2.7/site-packages/']
from bs4 import BeautifulSoup

я сделал этот финт ушами (великолепная фраза)
но все еще выдает ту же ошибку

Traceback (most recent call last):
File “D:\слава ситису\Курс.py”, line 15, in
from bs4 import beautifulsoup
ModuleNotFoundError: No module named ‘bs4’

А как и куда вы библиотеки ставите?

Обычно используют pip + venv (или обертки типа poetry, pipenv) и получается, что всё в самом проекте независимо от системы и других проектов.
Тут пример с poetry: Пример создания GUI приложения на Python. PySide2, Poetry, PyCharm

Согласен с Alex P - а библиотеки вообще установлены?

да, библиотеки установлены

прошу прощения за наглость, но можешь подсказать что и куда нужно в писать в код, я новичок и не совсем понимаю этот вопрос

сам код:

import telebot
import config

bot = telebot.TeleBot(config.TG_TOKEN)

@bot.message_handler(commands=['start'])
def welcom(message):
	
	bot.send_message(message.chat.id, 'Хай бейби, хай!')

import requests
from bs4 import beautifulsoup
import time 

class curency:
 DOLLAR_RUB = 'https://yandex.ru/search/?clid=2297897&text=rehc%20ljkkfhf&l10n=ru&lr=65'
headers =  {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36 OPR/67.0.3575.105'} 

current_converted_print = 0
difference = 5

def _init_(self):
 self.current_converted_print = float(self.get_currency_price())

def get_currency_print(self):
 full_page = requests.get(DOLLAR_RUB, headers=self.headers)
 soup = deautidulSoup (full_page.content, 'html.parser')

 convert = soup.findAll("span", {"class": "DFlfde", "class": "SwHCTb", "data-precision": 2})

  

def check_currensy(self): 
    bot.send_message(message.chat.id ("Керюха, по курс один доллар равен") + str(currensy))
    currency = float(self.get_currency_prise().replace(",","."))
    if cuttency >= self.corrent_coverted_price + self.difference:
            bot.send_message(message.chat.id("Курс сильно вырос, готовь заначку "))
    elif cuttency <= self.corrent_coverted_price - self.difference:bot.send_message(message.chat.id("Курс сильно упал, можно закупаться видео-картами"))
    time.sleep(3)
    check_currency()

currency = currency()
currency.check_currency()

bot.polling(none_stop=True)

Если у Вас пайтон 2.7, то нужно вот так:

from beautifulsoup import beautifulsoup

В bs4 этот пакет переименовали уже в 3 пайтоне
Но поскольку Вы берёте примеры откуда-то из другого источника - то лучше, наверное, поставить 3

у меня пайтон 3.8.2, на всякий случай я попробовал, не ни чего не работает
так же если я вписываю в код pip install beautifulsoup4 то в программа отображает install за ошибку

Переустановить попробовать. Менеджер пакетов PIP должен с пайтоном был установиться. В командной строке под администратором

pip install bs4