From ea5a71a5fbe68a1b06dfd7fc866c6a40855e39e5 Mon Sep 17 00:00:00 2001 From: link2xt Date: Tue, 28 Apr 2026 00:18:36 +0200 Subject: [PATCH] docs: update echobot_no_hooks.py example Use add_or_update_transport() instead of deprecated configure(), do not use deprecated get_next_messages(), make use of AttrDict, print invite link, do not use % formatting for logging. --- .../examples/echobot_no_hooks.py | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/deltachat-rpc-client/examples/echobot_no_hooks.py b/deltachat-rpc-client/examples/echobot_no_hooks.py index 6afb659e5..ad8cc39b7 100755 --- a/deltachat-rpc-client/examples/echobot_no_hooks.py +++ b/deltachat-rpc-client/examples/echobot_no_hooks.py @@ -13,7 +13,7 @@ def main(): with Rpc() as rpc: deltachat = DeltaChat(rpc) system_info = deltachat.get_system_info() - logging.info("Running deltachat core %s", system_info["deltachat_core_version"]) + logging.info(f"Running deltachat core {system_info['deltachat_core_version']}") accounts = deltachat.get_all_accounts() account = accounts[0] if accounts else deltachat.add_account() @@ -21,36 +21,30 @@ def main(): account.set_config("bot", "1") if not account.is_configured(): logging.info("Account is not configured, configuring") - account.set_config("addr", sys.argv[1]) - account.set_config("mail_pw", sys.argv[2]) - account.configure() + account.add_or_update_transport({"addr": sys.argv[1], "password": sys.argv[2]}) logging.info("Configured") else: logging.info("Account is already configured") deltachat.start_io() - def process_messages(): - for message in account.get_next_messages(): + qr = account.get_qr_code() + logging.info(f"Invite link: {qr}") + while True: + event = account.wait_for_event() + if event.kind == EventType.INFO: + logging.info(event["msg"]) + elif event.kind == EventType.WARNING: + logging.warning(event["msg"]) + elif event.kind == EventType.ERROR: + logging.error(event["msg"]) + elif event.kind == EventType.INCOMING_MSG: + logging.info("Got an incoming message") + message = account.get_message_by_id(event.msg_id) snapshot = message.get_snapshot() if snapshot.from_id != SpecialContactId.SELF and not snapshot.is_bot and not snapshot.is_info: snapshot.chat.send_text(snapshot.text) snapshot.message.mark_seen() - # Process old messages. - process_messages() - - while True: - event = account.wait_for_event() - if event["kind"] == EventType.INFO: - logging.info("%s", event["msg"]) - elif event["kind"] == EventType.WARNING: - logging.warning("%s", event["msg"]) - elif event["kind"] == EventType.ERROR: - logging.error("%s", event["msg"]) - elif event["kind"] == EventType.INCOMING_MSG: - logging.info("Got an incoming message") - process_messages() - if __name__ == "__main__": logging.basicConfig(level=logging.INFO)