diff --git a/languages/built-in/en.yml b/languages/built-in/en.yml index 139ac66..cae3c3c 100644 --- a/languages/built-in/en.yml +++ b/languages/built-in/en.yml @@ -1,5 +1,4 @@ # English - # main web_TypeError: Oops ~ Web interface is configured to bind to an invalid address. web_KeyError: Oops ~ Web interface configuration is missing in the config file. @@ -7,32 +6,29 @@ PhoneNumberInvalidError: Oops ~ The phone number entered is invalid. Please make module: module error: loading error start: PagerMaid-Modify have started, type -help in any chat for help message. - # utils - msg_ValueError: Oops ~ No messages were successfully obtained! isinstance: Oops ~ Length must be an integer! - # init -platform: Detected platform as +platform: Detected platform as platform_load: proceeding to early load process of PagerMaid. platform_unsupported: is not supported, please start PagerMaid on Linux or *BSD. -error_prefix: Oops ~ +error_prefix: Oops ~ python: Please upgrade your python interpreter to at least version 3.6. config_error: Oops ~ Please place a valid configuration file in the working directory. save_id: The user ID is get successfully. - +# modules_init +modules_init_loading_modules: Load built-in modules +modules_init_loading_plugins: Load plugin # listener - command: command has_reg: is already registered. too_long: Oops ~ The output generated was too long and could not be presented. run_error: Oops ~ An error occurred while executing this command. report_error: Oops ~ report error. use_method: Usage - # account -## username +# username username_des: sets the username. arg_error: Invalid argument. username_exist: Username is taken. @@ -40,42 +36,40 @@ username_vaild: Invalid username. username_set: Username have been updated. username_cancel: Username has been unset. username_whatset: Username has been set to -## name - +# name name_des: Alters the display name. name_vaild: Invalid first name. name_set: Display name is successfully altered. name_whatset: Changed display name to -## pfp +# pfp pfp_des: Set attachment of message replied to as profile picture. pfp_process: Setting profile picture . . . pfp_e_notp: Unable to parse attachment as image. pfp_e_size: The image dimensions are smaller than minimum requirement. pfp_e_img: An error occurred while the server is interpreting the command. -## bio +# bio bio_des: Sets the biography to the string in the parameter. bio_too_lang: Provided string is too long. bio_set: Bio has been altered successfully. bio_cancel: Bio has been unset. bio_whatset: Bio has been set to -## rmpfp - +# rmpfp rmpfp_des: Deletes defined amount of profile pictures. int: integer rmpfp_p: Removed rmpfp_l: profile picture(s). -## profile +# profile profile_des: Shows user profile in a large message. profile_process: Generating user profile summary . . . profile_e_no: The specified user does not exist. profile_e_nou: The username specified does not exist. -profile_e_nof: The UserID specified does not correspond to a user. +profile_e_nof: The UserID specified does not correspond to a user. profile_e_long: The UserID specified have exceeded the integer limit. profile_user: User profile_noset: Not set. profile_nobio: Not set. -profile_yes: True -profile_no: False +profile_yes: true +profile_no: false profile_name: Profile profile_username: Username profile_fname: First name @@ -85,9 +79,8 @@ profile_gic: Group in common profile_verified: Verified profile_restricted: Restricted profile_type: Type - # avoid -## ghost +# ghost ghost_des: Toggles ghosting of chat, requires redis. redis_dis: Redis is offline, cannot operate. ghost_e_mark: Unable to set flag on self. @@ -96,41 +89,37 @@ ghost_set_l: added to ghosted chats. ghost_cancel: removed from ghosted chats. ghost_e_noexist: Current chat is not ghosted. ghost_e_exist: Current chat is ghosted. -## deny +# deny deny_des: Toggles denying of chat, requires redis. deny_set: added to denied chats. deny_cancel: removed from denied chats. deny_e_noexist: Current chat is not denied. deny_e_exist: Current chat is denied. - # help - help_des: Shows a list of commands or help string of a single command. help_list: Commands help_send: Issue help_see: to view help for a specific command.* help_source: Source - -#qr -## genqr +# qr +# genqr genqr_des: Generates a QR Code sticker from a specific string. genqr_process: Generating QR code... genqr_e_encode: Invalid characters in target string. genqr_ok: Generated QR Code for -## parseqr +# parseqr parseqr_des: Parse attachment of replied message as a QR Code and output results. parseqr_nofile: There are no attachments in the message. parseqr_content: Content parseqr_e_noqr: Target is not a QR Code. -parseqr_log: Parsed QR Code with content - +parseqr_log: Parsed QR Code with content # captions -## convert +# convert convert_des: Reply to an attachment message and convert it to image output convert_process: Converting... convert_no_file: Something went wrong. There seems to be no attachment in the reply message. convert_error: Something went wrong, woooo~ An error occurred during the conversion. -## caption +# caption caption_des: Add two lines of captions to the reply picture. The captions will be added to the top and bottom respectively. The captions need to be separated by commas. caption_process: The image is being rendered... caption_error_grammer: Something went wrong ~ Wrong grammar. @@ -138,29 +127,27 @@ caption_no_file: Something went wrong, woooo~ There is no attachment in the targ caption_error: Something went wrong, woohoo~ An error occurred during the conversion. caption_success1: caption successfully caption_success2: Added to a picture. -## ocr +# ocr ocr_des: Extract text from the reply image ocr_psm_len_error: Oh, something went wrong...psm value is 0-13 ocr_processing: The picture is being processed, please wait... ocr_no_file: Something went wrong. There is no attachment in the reply message. ocr_no_result: Something went wrong ~ Please report this problem to the original author. ocr_result_hint: The following is the extracted text -## highlight +# highlight highlight_des: Generate a picture with syntax highlighting. highlight_processing: The image is being rendered, please wait... highlight_no_file: Something went wrong, woooo~ The target message could not be retrieved. highlight_uploading: Uploading pictures... -## handle_failure +# handle_failure handle_failure_error: Something went wrong oh woo woo ~ Please report this problem. - # clock -## time +# time time_des: Display the time in a specific area. If the parameter is empty, the configuration value will be displayed by default. time_parameters: time_time: time - # external -## translate +# translate translate_des: Translate the target message into the specified language through Google Translate. (Support reply) translate_parameters: translate_processing: The translation is being generated... @@ -190,80 +177,77 @@ fetchaudio_processing: Fetching audio... fetchaudio_error_downloading: Something went wrong, woooo~ The original soundtrack failed to download. fetchaudio_success: fetched an audio from the link fetchaudio_link: link - # fun -## animate +# animate animate_des: Use messages to animate text. -## teletype +# teletype teletype_des: Make typing animation by editing the message. Will generate a lot of operation records! -## mock +# mock mock_des: mock people through weird capital letters. -## widen +# widen widen_des: widen each character in the string. widen_already: This message has been widened. -## fox +# fox fox_des: Use fox to make your message look less complete -## owo +# owo owo_des: Convert the message to OwO. -## flip +# flip flip_des: Flip the message. -## ship +# ship ship_des: Generate random friends, and also support designated targets. ship_processing: Generate base friends... ship_BaseException: Something went wrong, woooo~ An error occurred while acquiring users. ship_hint: Congratulations to both -## rng +# rng rng_des: Generate a random string with a specific length. -## aaa +# aaa aaa_des: send a message containing a and A -## asciiart +# asciiart asciiart_des: Generate ASCII text for the specified string. -## tuxsay +# tuxsay tuxsay_des: Generate an ASCII art message that looks like a penguin talking -## coin +# coin coin_des: Throw a coin. coin_processing: Throwing a coin... coin_lost: I lost my coin - # help -## lang +# lang lang_des: Switch language. -lang_change_to: The language has been switched to +lang_change_to: The language has been switched to lang_reboot: Restarting. -lang_current_lang: The current language is -lang_all_lang: All available languages ​​are - +lang_current_lang: The current language is +lang_all_lang: "All available languages are " # message -## id +# id id_des: Get various information about a message. id_hint: The following is the information of the reply message -id_is_bot_yes: yes +id_is_bot_yes: true id_da: dead number -## uslog +# uslog uslog_des: forward a message to the log. uslog_success: Logged. uslog_log_disable: Something went wrong, woooo~ Logging has been disabled. -## log +# log log_des: silently forward a message to the log. -## re +# re re_des: Reread the reply message in the current conversation. (Need to reply to a message) re_parameters: re_too_big: oh oh something went wrong... this number is too big to provoke re_arg_error: Oh, something went wrong...maybe the parameter contains symbols other than numbers not_reply: Something went wrong ~ You don't seem to reply to a message. -## leave +# leave leave_res: Say "goodbye" and leave the session. leave_bye: You are a waste of my time, goodbye. leave_not_group: Something went wrong ohh~ The current chat does not seem to be a group chat. -## meter2feet +# meter2feet m2f_des: Convert meters to feet. m2f_get: will m2f_meter: meter m2f_convert_to: convert to m2f_feet: feet -## feet2meter +# feet2meter f2m_des: Convert feet to meters. -## hitokoto +# hitokoto hitokoto_des: A word of the day hitokoto_type_anime: animation hitokoto_type_manga: manga @@ -277,9 +261,8 @@ hitokoto_type_poem: poem hitokoto_type_netease_music: Netease Cloud hitokoto_type_philosophy: philosophy hitokoto_type_meme: trembling - # plugin -## apt +# apt apt_des: Used to manage plugins installed to PagerMaid-Modify. apt_parameters: "{update|search|show|status|install|remove|enable|disable|upload} " apt_processing: Installing plugins... @@ -322,34 +305,32 @@ apt_plugin_maintainer: Author apt_plugin_size: size apt_plugin_support: support period apt_plugin_des_short: description - # prune -## prune +# prune prune_des: Replying to a message with this command will delete all messages between the latest message and the message. Limit, 1000 messages based on message ID, more than 1000 messages may trigger the limit of deleting messages too quickly. (Non-group administrators only delete their own messages) prune_hint1: Deleted in bulk prune_hint2: messages. -## selfprune +# selfprune sp_des: delete a specific number of messages sent by you in the current conversation. Limit, 1000 messages based on message ID, more than 1000 may trigger the limit of deleting messages too quickly. Non-administrators cannot delete the group message. (Reverse order) When the number is large enough, all messages can be deleted. sp_parameters: sp_hint: self-sent -## yourprune +# yourprune yp_des: delete the current conversation you reply to a specific number of messages sent by the user. Limit, 1000 messages based on message ID, more than 1000 may trigger the limit of deleting messages too quickly. (Reverse order, need to delete message permission) When the number is large enough, all messages can be deleted. yp_hint: Reply to what the user sent -## del +# del del_des: Delete the message you replied to in the current conversation. (Need to reply to a message) del_notification: A message was deleted. -del_BadRequestError: Something went wrong, woooo~ I don’t have permission to delete this message. -## send_prune_notify +del_BadRequestError: Something went wrong, woooo~ I don +# send_prune_notify spn_deleted: deleted - # status -## sysinfo +# sysinfo sysinfo_des: Retrieve system information through neofetch. sysinfo_loading: Loading system information... -## fortune +# fortune fortune_des: read fortune cookies information. fortune_not_exist: Something went wrong, woooo~ There are no fortune cookies on this system -## fbcon +# fbcon fbcon_des: Take a screenshot of the currently bound frame buffer console. fbcon_processing: Taking a screenshot of the frame buffer console... fbcon_no_fbdump: Something went wrong ~ woof ~ fbdump is not installed on this system @@ -357,7 +338,7 @@ fbcon_no_ImageMagick: Something went wrong, woooo ~ ImageMagick is not installed fbcon_no_permission: Something went wrong. The user running PagerMaid-Modify is not in the video group. fbcon_caption: A screenshot of the bound frame buffer. fbcon_error: Something went wrong ~ The file generation failed due to an unexpected error. Please make sure that the apt packages fbcat and imagemagick have been installed, and your machine has a graphics card. -## status +# status status_des: Output the running status of PagerMaid-Modify. status_online: online status_offline: offline @@ -369,25 +350,26 @@ status_python: Python version status_telethon: Telethon version status_db: database status status_dialogs: total number of conversations -## speedtest +# speedtest speedtest_des: Execute the speedtest script and send the result. speedtest_processing: Execute test scripts... -## connection +speedtest_ServerFailure: Unable to determine the best server. +speedtest_ConnectFailure: Connection failure. +# connection connection_des: Display the connection information between the server running PagerMaid-Modify and the Telegram server. connection_hint: connection information connection_country: country connection_dc: Data center connected to connection_nearest_dc: nearest data center -## ping +# ping ping_des: Calculate the delay between the server running PagerMaid-Modify and the Telegram server. -## topcloud +# topcloud topcloud_des: Generate a word cloud picture of resource usage. topcloud_processing: generating pictures... topcloud_caption: The running process. topcloud_success: A word cloud picture of resource usage is generated. - # sticker -## sticker +# sticker sticker_des: Collect the replied images/stickers as stickers, and specify emoji through parameters to set a non-default emoji. sticker_processing: Collecting images/stickers... sticker_downloading: Downloading the picture... @@ -403,36 +385,34 @@ sticker_this: this sticker_pack: sticker pack sticker_another_running: Another command is adding a sticker, trying again sticker_no_pack_exist_creating: The sticker pack does not exist, it is being created... -## upload_sticker +# upload_sticker us_animated_uploading: Upload animations... us_static_uploading: Uploading pictures... - # system -## sh +# sh sh_des: remotely execute Shell commands on Telegram. sh_parameters: sh_channel: Something went wrong ~ The current PagerMaid-Modify configuration prohibits the execution of Shell commands in the channel. sh_success: execute Shell commands remotely -## restart +# restart restart_des: Restart PagerMaid-Modify restart_processing: Try to restart PagerMaid-Modify. restart_log: PagerMaid-Modify restarts. -## trace +# trace trace_des: Trace the redirection of the URL. trace_processing: Tracking redirection... trace_over128: Something went wrong, woooo~ More than 128 redirects, aborting! trace_re: redirect trace_http_error: Something went wrong ~ There was a problem when sending the HTTP request. -## chat +# chat chat_des: Join the Pagermaid-Modify user group. chat_message: Hello everyone, I am a newcomer. chat_already_join1: You have already successfully joined chat_already_join2: User group. chat_error: Something went wrong ~ Please try to manually add @PagerMaid_Modify chat_join_success: You have successfully joined - -#update -## update +# update +# update update_des: Check for updates from remote sources and install them to PagerMaid-Modify. update_processing: Checking the remote source for update... update_platform_version: system version number @@ -455,4 +435,4 @@ update_success: Update successfully update_failed: update failed update_auto_upgrade_git_failed_ubuntu: It is detected that your system is Ubuntu or Debain. Try to upgrade git automatically but failed. Please upgrade manually. update_auto_upgrade_git_failed_cent: It is detected that your system is CentOS, try to upgrade git automatically but failed, please upgrade manually. -update_auto_upgrade_git_hint: Your git version is too low and has tried to automatically upgrade for you. If you are reminded of this error again, please upgrade manually. \ No newline at end of file +update_auto_upgrade_git_hint: Your git version is too low and has tried to automatically upgrade for you. If you are reminded of this error again, please upgrade manually. diff --git a/languages/built-in/zh-cn.yml b/languages/built-in/zh-cn.yml index 4369711..15ea531 100644 --- a/languages/built-in/zh-cn.yml +++ b/languages/built-in/zh-cn.yml @@ -370,6 +370,8 @@ status_dialogs: 对话总数 ## speedtest speedtest_des: 执行 speedtest 脚本并发送结果。 speedtest_processing: 执行测试脚本 . . . +speedtest_ServerFailure: 无法确定最佳服务器。。。 +speedtest_ConnectFailure: speedtest API 服务器连接失败。。。 ## connection connection_des: 显示运行 PagerMaid-Modify 的服务器和 Telegram 服务器之间的连接信息。 connection_hint: 连接信息 @@ -453,4 +455,4 @@ update_success: 更新成功 update_failed: 更新失败 update_auto_upgrade_git_failed_ubuntu: 检测到您的系统是Ubuntu或Debain,尝试自动升级git但失败,请手动升级. update_auto_upgrade_git_failed_cent: 检测到您的系统是CentOS,尝试自动升级git但失败,请手动升级. -update_auto_upgrade_git_hint: 您的git版本过低,已尝试为您自动升级. 如再次提醒此错误,请手动升级. \ No newline at end of file +update_auto_upgrade_git_hint: 您的git版本过低,已尝试为您自动升级. 如再次提醒此错误,请手动升级. diff --git a/languages/built-in/zh-tw.yml b/languages/built-in/zh-tw.yml index 8a85b43..d40f227 100644 --- a/languages/built-in/zh-tw.yml +++ b/languages/built-in/zh-tw.yml @@ -1,4 +1,4 @@ -# Chinese (Simplified) +# Chinese (TW) # main web_TypeError: Error!Web 介面綁定了一個無效網址。 web_KeyError: Error!設定檔缺少Web介面配置。 @@ -353,6 +353,8 @@ status_dialogs: 聊天總數 # speedtest speedtest_des: 執行Speedtest腳本然後發送結果 speedtest_processing: 執行腳本 +speedtest_ServerFailure: Unable to determine the best server. +speedtest_ConnectFailure: Connection failure. # connection connection_des: 顯示伺服器和Telegram之間的資訊。 connection_hint: 連接資訊 diff --git a/pagermaid/__init__.py b/pagermaid/__init__.py index 947ef81..77c3c59 100644 --- a/pagermaid/__init__.py +++ b/pagermaid/__init__.py @@ -16,6 +16,7 @@ from logging import getLogger, INFO, DEBUG, ERROR, StreamHandler, basicConfig from distutils2.util import strtobool from coloredlogs import ColoredFormatter from telethon import TelegramClient +from telethon.errors.rpcerrorlist import MessageNotModifiedError, MessageIdInvalidError persistent_vars = {} module_dir = __path__[0] @@ -149,6 +150,10 @@ def before_send(event, hint): return None elif exc_info and isinstance(exc_info[0], CancelledError): return None + elif exc_info and isinstance(exc_info[0], MessageNotModifiedError): + return None + elif exc_info and isinstance(exc_info[0], MessageIdInvalidError): + return None if time() <= report_time + 30: report_time = time() return None diff --git a/pagermaid/modules/status.py b/pagermaid/modules/status.py index cfc8b03..95021c9 100644 --- a/pagermaid/modules/status.py +++ b/pagermaid/modules/status.py @@ -2,7 +2,7 @@ from os import remove, popen from datetime import datetime -from speedtest import Speedtest +from speedtest import Speedtest, ShareResultsConnectFailure, ShareResultsSubmitFailure, SpeedtestBestServerFailure from telethon import functions from platform import python_version, uname from wordcloud import WordCloud @@ -92,10 +92,18 @@ async def speedtest(context): """ Tests internet speed using speedtest. """ await context.edit(lang('speedtest_processing')) test = Speedtest() - test.get_best_server() + try: + test.get_best_server() + except SpeedtestBestServerFailure: + await context.edit(lang('speedtest_ServerFailure')) + return test.download() test.upload() - test.results.share() + try: + test.results.share() + except ShareResultsConnectFailure or ShareResultsSubmitFailure: + await context.edit(lang('speedtest_ConnectFailure')) + return result = test.results.dict() des = ( f"**Speedtest** \n"