Now prints image files.

Added image handling.
Can't print inline images, but will remind the user to send the image as a file.
This commit is contained in:
Clarth 2024-01-02 17:20:51 -05:00
parent 4ca6b82761
commit 3cd1137b84
1 changed files with 63 additions and 55 deletions

View File

@ -2,6 +2,7 @@ import sys
import os import os
import telebot import telebot
import subprocess import subprocess
from pathlib import Path
# Telegram API token # Telegram API token
TOKEN = 'TOKEN' TOKEN = 'TOKEN'
@ -26,13 +27,16 @@ def start(message):
# Handle incoming files # Handle incoming files
@bot.message_handler(content_types=['document', 'audio', 'photo']) @bot.message_handler(content_types=['document', 'audio', 'photo'])
def handle_file(message): def handle_file(message):
try:
if message.photo: if message.photo:
# Handle photos # Handle photos
bot.send_message(CHAT_ID, 'Printing Images isn\'t supported') file_info = bot.get_file(message.photo[-1].file_id)
file_name = f"photo_{message.photo[-1].file_id}{Path(file_info.file_path).suffix}"
bot.send_message(CHAT_ID, 'Printing Images isn\'t supported. Please send the image as a file. Like this --> https://i.imgur.com/JcTtCvR.png')
elif message.audio: elif message.audio:
# Handle audio # Handle audio
bot.send_message(CHAT_ID, "I can't print sounds!") bot.send_message(CHAT_ID, "I can't print sounds!")
else: elif message.document:
# Handle other file types # Handle other file types
# Download the file # Download the file
file_info = bot.get_file(message.document.file_id) file_info = bot.get_file(message.document.file_id)
@ -50,6 +54,10 @@ def handle_file(message):
# Send a message to the channel indicating that a file has been downloaded and printed # Send a message to the channel indicating that a file has been downloaded and printed
bot.send_message(CHAT_ID, f'File "{file_name}" has been downloaded and printed!') bot.send_message(CHAT_ID, f'File "{file_name}" has been downloaded and printed!')
except Exception as e:
# Handle any other exceptions
print(f"Error: {e}")
bot.send_message(CHAT_ID, 'An error occurred while processing the file. Please try again.')
# Start the bot # Start the bot
bot.polling() bot.polling()