From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NO_DNS_FOR_FROM,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 Received: from localhost.localdomain (unknown [101.128.125.226]) by gnuweeb.org (Postfix) with ESMTPSA id 85A097E24B; Mon, 1 Aug 2022 00:19:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1659313177; bh=web4m4oYb+eJb7/BQl/rDDqVcB1BLHAvJMpNiWsBdLg=; h=From:To:Cc:Subject:Date:From; b=m8NnPy8YaTiJaCq6qqj7zEJTUaiCmK3AySwrs4VF8K0zMapF5wgcu2MyRKlp2ISLL n3agARtSlVq9CgrnLMUImCUcjg83QiXMuy864rhhtBv4LcC+wEjY1dIT+flOx3f+qT gsOFWPZ3toyQutNDMKXEprF5UrK1hr0lsNfBj1U22RKpMlxMWqdIefDyowTb9BVIbE EaBZVbAyAexVL05C9RokeGEbZ1RAMFz50pFp25TuPnODIYaI6B0qi1OskzH3GlewFY nCcp9W35Cv4CoBfBrwKNAAsmuelQibzCvWWbmAxtMwmZgb0rhZQDlORxEkrLzK6Wqp qVonsaZKH0Z4Q== From: Muhammad Rizki To: Ammar Faizi Cc: Muhammad Rizki , GNU/Weeb Mailing List , Alviro Iskandar Setiawan Subject: [PATCH v5 00/19] New feature to handle atom URLs and broadcast Date: Mon, 1 Aug 2022 07:18:58 +0700 Message-Id: <20220801001917.992-1-kiizuha@gnuweeb.org> X-Mailer: git-send-email 2.34.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Morning guys, This is v5 revision of new feature to handle atom URLs and broadcast. In this series, I add a comment in ../.gitignore to define what it is for. I've edit for /del_bc --list to make the message disable the web preview in the packages/plugins/commands/manage_broadcast.py file. This series contains a new feature to handle the atom URLs and broadcast chats, such as add atom, add chat, del_atom and del_chat, with this feature, we do not manual manage them again, just using the bot commands and it will update in database. There are 19 patches in this series: - Patch 1 is to add new table for atom URLs and broadcast chats - Patch 2 is to add a comment in .gitignore - Patch 3 is to add get atom URLs and get broadcast chats - Patch 4 is to fix MySQL InternalError when query the atom and chats - Patch 5 is to create /add_atom bot command to atom URL to database - Patch 6 is to add some utility functions to handle code in /add_atom - Patch 7 is to refactor db class to easily access over DaemonClient - Patch 8 is to add insert_atom() in scraper/db.py to insert atom URLs - Patch 9 is to rename admin.py to debugger. - Patch 10 is to add delete_atom() in scraper/db.py for /del_atom command - Patch 11 is to add button_numbers() in utility file to create btn nums - Patch 12 is to split files between bot commands and bot CallbackQuery - Patch 13 is to add del_atom for CallbackQuery to handle delete atom - Patch 14 is to add insert_broadcast() in scraper/db.py to insert chats - Patch 15 is to add delete_broadcast() in scraper/db.py to delete chats - Patch 16 is to create /add_bc bot command to add chat to the database - Patch 17 is to add create_chat_link() in utility file for chat link - Patch 18 is to add /del_bc bot command to remove chat in the database - Patch 19 is to add del_chat in bot CallbackQuery to handle delete chat A bit changes to improve the code, no other change in bot scripts, this should be works fine. ## Changelog v4 -> v5 - Add a comment # PATCH in ../.gitignore - Add disable_web_page_preview for /del_bc --list v3 -> v4 - Simplify create_chat_link() in scraper/utils.py - Remove RFC in .gitignore and fix no newline at EOF v2 -> v3 - Combine the atom_urls and broadcast_chats tables in db.py - Remove atom_broadcast.sql - Change atom_urls data type of `type` field to VARCHAR(255) v1 -> v2 - Improve delete_broadcast() source code in scraper/db.py - Fix typehints to int for chat_id param in scraper/db.py Signed-off-by: Muhammad Rizki --- Muhammad Rizki (19): Add new table for atom URLs and broadcast chats in db.sql Add a comment in .gitignore Add ATOM_URLS and BROADCAST_CHAT methods Fix MySQL InternalError: Unread result found Create /add_atom command Add utility functions for /add_atom Refactor database methods Add insert_atom() in scraper/db.py Rename admin.py to debugger.py Add delete_atom() function in scraper/db.py Add utility function buton_numbers() Move bot commands related files to packages/plugins/commands/ Add del_atom callback query Add insert_broadcast() in scraper/db.py Add delete_broadcast() in scraper/db.py Create /add_bc bot command Add create_chat_link() function Add /del_bc bot command Add del_chat callback query .gitignore | 1 + daemon/db.sql | 25 +++++ daemon/packages/client.py | 4 +- daemon/packages/plugins/callbacks/del_atom.py | 31 +++++ daemon/packages/plugins/callbacks/del_chat.py | 36 ++++++ .../{admin.py => commands/debugger.py} | 0 .../packages/plugins/commands/manage_atom.py | 50 +++++++++ .../plugins/commands/manage_broadcast.py | 70 ++++++++++++ .../packages/plugins/{ => commands}/scrape.py | 0 daemon/run.py | 16 +-- daemon/scraper/bot.py | 22 +--- daemon/scraper/db.py | 106 +++++++++++++++++- daemon/scraper/utils.py | 43 +++++++ 13 files changed, 378 insertions(+), 26 deletions(-) create mode 100644 daemon/packages/plugins/callbacks/del_atom.py create mode 100644 daemon/packages/plugins/callbacks/del_chat.py rename daemon/packages/plugins/{admin.py => commands/debugger.py} (100%) create mode 100644 daemon/packages/plugins/commands/manage_atom.py create mode 100644 daemon/packages/plugins/commands/manage_broadcast.py rename daemon/packages/plugins/{ => commands}/scrape.py (100%) base-commit: f8c5aef0aa85e1262c90f818638d255c3c38373f -- Muhammad Rizki