Add support for threads
parent
3d0c3cb1c6
commit
d6859ea6b8
|
@ -25,11 +25,12 @@ def pibooth_configure(cfg):
|
||||||
"""Declare the new configuration options"""
|
"""Declare the new configuration options"""
|
||||||
cfg.add_option(SECTION, "telegram_token", "", "Telegram Token")
|
cfg.add_option(SECTION, "telegram_token", "", "Telegram Token")
|
||||||
cfg.add_option(SECTION, "telegram_chat_id", "", "Telegram chat ID")
|
cfg.add_option(SECTION, "telegram_chat_id", "", "Telegram chat ID")
|
||||||
|
cfg.add_option(SECTION, "telegram_thread_id", "", "Telegram thread ID")
|
||||||
cfg.add_option(
|
cfg.add_option(
|
||||||
SECTION,
|
SECTION,
|
||||||
"telegram_message",
|
"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"""
|
"""Verify Telegram credentials"""
|
||||||
telegram_token = cfg.get(SECTION, "telegram_token")
|
telegram_token = cfg.get(SECTION, "telegram_token")
|
||||||
telegram_chat_id = cfg.get(SECTION, "telegram_chat_id")
|
telegram_chat_id = cfg.get(SECTION, "telegram_chat_id")
|
||||||
|
telegram_thread_id = cfg.get(SECTION, "telegram_thread_id")
|
||||||
|
|
||||||
if not telegram_token:
|
if not telegram_token:
|
||||||
LOGGER.error(
|
LOGGER.error(
|
||||||
|
@ -51,6 +53,12 @@ def pibooth_startup(app, cfg):
|
||||||
+ SECTION
|
+ SECTION
|
||||||
+ "][telegram_chat_id], uploading deactivated"
|
+ "][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:
|
else:
|
||||||
LOGGER.info("Initializing Telegram client")
|
LOGGER.info("Initializing Telegram client")
|
||||||
app.telegram_client = telegram.Bot(token=telegram_token)
|
app.telegram_client = telegram.Bot(token=telegram_token)
|
||||||
|
@ -61,10 +69,12 @@ def state_processing_exit(app, cfg):
|
||||||
"""Upload picture to Telegram chat"""
|
"""Upload picture to Telegram chat"""
|
||||||
if hasattr(app, "telegram_client"):
|
if hasattr(app, "telegram_client"):
|
||||||
chat_id = cfg.get(SECTION, "telegram_chat_id").strip('"')
|
chat_id = cfg.get(SECTION, "telegram_chat_id").strip('"')
|
||||||
|
thread_id = cfg.get(SECTION, "telegram_thread_id").strip('"')
|
||||||
message = cfg.get(SECTION, "telegram_message")
|
message = cfg.get(SECTION, "telegram_message")
|
||||||
try:
|
try:
|
||||||
response = app.telegram_client.send_photo(
|
response = app.telegram_client.send_photo(
|
||||||
chat_id=chat_id,
|
chat_id=chat_id,
|
||||||
|
message_thread_id=thread_id,
|
||||||
caption=message,
|
caption=message,
|
||||||
photo=open(app.previous_picture_file, 'rb'),
|
photo=open(app.previous_picture_file, 'rb'),
|
||||||
parse_mode=telegram.ParseMode.MARKDOWN,
|
parse_mode=telegram.ParseMode.MARKDOWN,
|
||||||
|
|
6
setup.py
6
setup.py
|
@ -35,8 +35,8 @@ def main():
|
||||||
],
|
],
|
||||||
author="Dídac Sabatés",
|
author="Dídac Sabatés",
|
||||||
author_email="sabatesduran@gmail.com",
|
author_email="sabatesduran@gmail.com",
|
||||||
url="https://github.com/sabatesduran/pibooth-telegram-upload",
|
url="https://git.zio.sh/astra/pibooth-telegram-upload",
|
||||||
download_url="https://github.com/sabatesduran/pibooth-telegram-upload/archive/{}.tar.gz".format(
|
download_url="https://git.zio.sh/astra/pibooth-telegram-upload/archive/{}.tar.gz".format(
|
||||||
plugin.__version__
|
plugin.__version__
|
||||||
),
|
),
|
||||||
license="GPLv3",
|
license="GPLv3",
|
||||||
|
@ -44,7 +44,7 @@ def main():
|
||||||
keywords=["Raspberry Pi", "camera", "photobooth", "telegram", "chat", "bot", "channel"],
|
keywords=["Raspberry Pi", "camera", "photobooth", "telegram", "chat", "bot", "channel"],
|
||||||
py_modules=["pibooth_telegram_upload"],
|
py_modules=["pibooth_telegram_upload"],
|
||||||
python_requires=">=3.6",
|
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
|
zip_safe=False, # Don't install the lib as an .egg zipfile
|
||||||
entry_points={"pibooth": ["pibooth_telegram_upload = pibooth_telegram_upload"]},
|
entry_points={"pibooth": ["pibooth_telegram_upload = pibooth_telegram_upload"]},
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue