bot.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import telebot
  2. from qr import QR
  3. token = "5952079422:AAFyS7pEYSe6WBy9SE57e4JLSoBEGQVJuMc"
  4. bot = telebot.TeleBot(token)
  5. qr = QR()
  6. @bot.message_handler(commands=["start", "help"])
  7. def send_welcome(message):
  8. bot.reply_to(message,
  9. """
  10. Чтобы распознать QR просто отправьте фото! Будет обработано только последнее из набора фото.
  11. Если же вы хотите сгенерировать QR, то отправьте текст!
  12. """
  13. )
  14. @bot.message_handler(func=lambda message: True)
  15. def create_qr(message):
  16. bot.reply_to(message, "Генерируем QR...")
  17. (img, url) = qr.create(message.text)
  18. bot.reply_to(message, url)
  19. @bot.message_handler(content_types=["photo"])
  20. def read_photo(message):
  21. photo = message.photo[-1]
  22. fid = photo.file_id
  23. finfo = bot.get_file(fid)
  24. purl = f"https://api.telegram.org/file/bot{token}/{finfo.file_path}"
  25. bot.reply_to(message, "Распознаём QR-ы...")
  26. scans = qr.read_by_url(purl)
  27. if len(scans) == 0 :
  28. bot.reply_to(message, "Изображение не содержит QR, либо их плохо видно!")
  29. else:
  30. for scan in scans :
  31. bot.reply_to(message, scan)
  32. bot.infinity_polling()