Add support for threads

main
Astra 2024-09-03 18:28:08 +01:00
parent 3d0c3cb1c6
commit d6859ea6b8
2 changed files with 14 additions and 4 deletions

View File

@ -25,11 +25,12 @@ def pibooth_configure(cfg):
"""Declare the new configuration options"""
cfg.add_option(SECTION, "telegram_token", "", "Telegram Token")
cfg.add_option(SECTION, "telegram_chat_id", "", "Telegram chat ID")
cfg.add_option(SECTION, "telegram_thread_id", "", "Telegram thread ID")
cfg.add_option(
SECTION,
"telegram_message",
"",
"Message sended on every posted photo",
"Message sent with every posted photo",
)
@ -38,6 +39,7 @@ def pibooth_startup(app, cfg):
"""Verify Telegram credentials"""
telegram_token = cfg.get(SECTION, "telegram_token")
telegram_chat_id = cfg.get(SECTION, "telegram_chat_id")
telegram_thread_id = cfg.get(SECTION, "telegram_thread_id")
if not telegram_token:
LOGGER.error(
@ -51,6 +53,12 @@ def pibooth_startup(app, cfg):
+ SECTION
+ "][telegram_chat_id], uploading deactivated"
)
elif not telegram_chat_id:
LOGGER.error(
"Telegram Thread ID not defined in ["
+ SECTION
+ "][telegram_thread_id], uploading deactivated"
)
else:
LOGGER.info("Initializing Telegram client")
app.telegram_client = telegram.Bot(token=telegram_token)
@ -61,10 +69,12 @@ def state_processing_exit(app, cfg):
"""Upload picture to Telegram chat"""
if hasattr(app, "telegram_client"):
chat_id = cfg.get(SECTION, "telegram_chat_id").strip('"')
thread_id = cfg.get(SECTION, "telegram_thread_id").strip('"')
message = cfg.get(SECTION, "telegram_message")
try:
response = app.telegram_client.send_photo(
chat_id=chat_id,
message_thread_id=thread_id,
caption=message,
photo=open(app.previous_picture_file, 'rb'),
parse_mode=telegram.ParseMode.MARKDOWN,

View File

@ -35,8 +35,8 @@ def main():
],
author="Dídac Sabatés",
author_email="sabatesduran@gmail.com",
url="https://github.com/sabatesduran/pibooth-telegram-upload",
download_url="https://github.com/sabatesduran/pibooth-telegram-upload/archive/{}.tar.gz".format(
url="https://git.zio.sh/astra/pibooth-telegram-upload",
download_url="https://git.zio.sh/astra/pibooth-telegram-upload/archive/{}.tar.gz".format(
plugin.__version__
),
license="GPLv3",
@ -44,7 +44,7 @@ def main():
keywords=["Raspberry Pi", "camera", "photobooth", "telegram", "chat", "bot", "channel"],
py_modules=["pibooth_telegram_upload"],
python_requires=">=3.6",
install_requires=["pibooth>=2.0.0", "python-telegram-bot==13.12"],
install_requires=["pibooth>=2.0.0", "python-telegram-bot==13.15"],
zip_safe=False, # Don't install the lib as an .egg zipfile
entry_points={"pibooth": ["pibooth_telegram_upload = pibooth_telegram_upload"]},
)