{"id":15306677,"url":"https://github.com/t0mer/weathy","last_synced_at":"2025-08-02T05:32:45.889Z","repository":{"id":219589023,"uuid":"749413507","full_name":"t0mer/weathy","owner":"t0mer","description":"Python powered bot for sending weather updates","archived":false,"fork":false,"pushed_at":"2025-06-15T06:28:04.000Z","size":371,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T07:25:33.257Z","etag":null,"topics":["bot","forecast","notifications","python3","telegram","telegram-bot","weather","weather-il"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t0mer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-28T14:16:25.000Z","updated_at":"2025-03-03T11:04:07.000Z","dependencies_parsed_at":"2024-12-01T15:28:08.359Z","dependency_job_id":"ab025c94-e1f9-4575-9bfc-6cb1402ac63c","html_url":"https://github.com/t0mer/weathy","commit_stats":{"total_commits":20,"total_committers":1,"mean_commits":20.0,"dds":0.0,"last_synced_commit":"2237876d482a6816327134da13df19b87ee60edf"},"previous_names":["t0mer/weathy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/t0mer/weathy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fweathy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fweathy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fweathy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fweathy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t0mer","download_url":"https://codeload.github.com/t0mer/weathy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2Fweathy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268339403,"owners_count":24234544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","forecast","notifications","python3","telegram","telegram-bot","weather","weather-il"],"created_at":"2024-10-01T08:06:49.590Z","updated_at":"2025-08-02T05:32:45.521Z","avatar_url":"https://github.com/t0mer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# weathy\nwathy is a python powered bot for sending weather forecast on a scheduled time.\n\n![wathy](screenshots/wathy.png)\n\n## Features\n- Send daily weather forecast\n\n\n## Components and Frameworks used in weathy:\n* [Loguru](https://pypi.org/project/loguru/) For logging.\n* [schedule](https://pypi.org/project/schedule/) Python job scheduling for humans.\n* [apprise](https://pypi.org/project/apprise/) Apprise allows you to send a notification to almost all of the most popular notification services available.\n* [weatheril](https://pypi.org/project/weatheril/) weatheril is an unofficial IMS (Israel Meteorological Service) python API wrapper.\n\n\n\n## Installation\n\nBefore we can start working with weathy, we need to create a new telegram bot. \n\n### Create Telegram bot\nHow to Create a New Bot for Telegram\nOpen [Telegram messenger](https://web.telegram.org/), sign in to your account or create a new one.\n\n Enter @Botfather in the search tab and choose this bot (Official Telegram bots have a blue checkmark beside their name.)\n\n[![@Botfather](https://github.com/t0mer/voicy/blob/main/screenshots/scr1-min.png?raw=true \"@Botfather\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr1-min.png?raw=true \"@Botfather\")\n\nClick “Start” to activate BotFather bot.\n\n[![@start](https://github.com/t0mer/voicy/blob/main/screenshots/scr2-min.png?raw=true \"@start\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr1-min.png?raw=true \"@start\")\n\nIn response, you receive a list of commands to manage bots.\nChoose or type the /newbot command and send it.\n\n[![@newbot](https://github.com/t0mer/voicy/blob/main/screenshots/scr3-min.png?raw=true \"@newbot\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr3-min.png?raw=true \"@newbot\")\n\n\nChoose a name for your bot — your subscribers will see it in the conversation. And choose a username for your bot — the bot can be found by its username in searches. The username must be unique and end with the word “bot.”\n\n[![@username](https://github.com/t0mer/voicy/blob/main/screenshots/scr4-min.png?raw=true \"@username\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr4-min.png?raw=true \"@username\")\n\n\nAfter you choose a suitable name for your bot — the bot is created. You will receive a message with a link to your bot t.me/\u003cbot_username\u003e, recommendations to set up a profile picture, description, and a list of commands to manage your new bot.\n\n[![@bot_username](https://github.com/t0mer/voicy/blob/main/screenshots/scr5-min.png?raw=true \"@bot_username\")](https://github.com/t0mer/voicy/blob/main/screenshots/scr5-min.png?raw=true \"@bot_username\")\n\n\nweathy is a docker based application that can be installed using docker compose:\n\n```yaml\nversion: \"3.7\"\n\nservices:\n\n  weathy:\n    image: techblog/weathy:latest\n    container_name: weathy\n    restart: always\n    environment:\n      - NOTIFIERS= #Apprise notifiers\n      - TZ=Asia/Jerusalem\n      - LOCATION= # The Location ID of your city.\n      - LANGUAGE=he #Currently the only supported language. english will be added soon.\n      - SCHEDULE= #Time of the day to send the notification, 80:00, 12:00, 20:00, etc.\n    volumes:\n      - \"/etc/localtime:/etc/localtime:ro\"\n```\n\n### Environment\n* NOTIFIERS: Apprise notifiers\n* LOCATION: The Location ID of your city from the attached table.\n* LANGUAGE: The forecast language.\n* SCHEDULE: Time of the day to send the notification, 80:00, 12:00, 20:00, etc.\n\n\n\n### Locations table\n\n| Id | Location |\n| ------------ | ----------- |\n| 1| Jerusalem|\n| 2| Tel Aviv - Yafo|\n| 3| Haifa|\n| 4| Rishon le Zion|\n| 5| Petah Tiqva|\n| 6| Ashdod|\n| 7| Netania|\n| 8| Beer Sheva|\n| 9| Bnei Brak|\n| 10| Holon|\n| 11| Ramat Gan|\n| 12| Asheqelon|\n| 13| Rehovot|\n| 14| Bat Yam|\n| 15| Bet Shemesh|\n| 16| Kfar Sava|\n| 17| Herzliya|\n| 18| Hadera|\n| 19| Modiin|\n| 20| Ramla|\n| 21| Raanana|\n| 22| Modiin Illit|\n| 23| Rahat|\n| 24| Hod Hasharon|\n| 25| Givatayim|\n| 26| Kiryat Ata|\n| 27| Nahariya|\n| 28| Beitar Illit|\n| 29| Um al-Fahm|\n| 30| Kiryat Gat|\n| 31| Eilat|\n| 32| Rosh Haayin|\n| 33| Afula|\n| 34| Nes-Ziona|\n| 35| Akko|\n| 36| Elad|\n| 37| Ramat Hasharon|\n| 38| Karmiel|\n| 39| Yavneh|\n| 40| Tiberias|\n| 41| Tayibe|\n| 42| Kiryat Motzkin|\n| 43| Shfaram|\n| 44| Nof Hagalil|\n| 45| Kiryat Yam|\n| 46| Kiryat Bialik|\n| 47| Kiryat Ono|\n| 48| Maale Adumim|\n| 49| Or Yehuda|\n| 50| Zefat|\n| 51| Netivot|\n| 52| Dimona|\n| 53| Tamra |\n| 54| Sakhnin|\n| 55| Yehud|\n| 56| Baka al-Gharbiya|\n| 57| Ofakim|\n| 58| Givat Shmuel|\n| 59| Tira|\n| 60| Arad|\n| 61| Migdal Haemek|\n| 62| Sderot|\n| 63| Araba|\n| 64| Nesher|\n| 65| Kiryat Shmona|\n| 66| Yokneam Illit|\n| 67| Kafr Qassem|\n| 68| Kfar Yona|\n| 69| Qalansawa|\n| 70| Kiryat Malachi|\n| 71| Maalot-Tarshiha|\n| 72| Tirat Carmel|\n| 73| Ariel|\n| 74| Or Akiva|\n| 75| Bet Shean|\n| 76| Mizpe Ramon|\n| 77| Lod|\n| 78| Nazareth|\n| 79| Qazrin|\n| 80| En Gedi|\n| 200| Nimrod Fortress|\n| 201| Banias|\n| 202| Tel Dan|\n| 203| Snir Stream|\n| 204| Horshat Tal |\n| 205| Ayun Stream|\n| 206| Hula|\n| 207| Tel Hazor|\n| 208| Akhziv|\n| 209| Yehiam Fortress|\n| 210| Baram|\n| 211| Amud Stream|\n| 212| Korazim|\n| 213| Kfar Nahum|\n| 214| Majrase |\n| 215| Meshushim Stream|\n| 216| Yehudiya |\n| 217| Gamla|\n| 218| Kursi |\n| 219| Hamat Tiberias|\n| 220| Arbel|\n| 221| En Afek|\n| 222| Tzipori|\n| 223| Hai-Bar Carmel|\n| 224| Mount Carmel|\n| 225| Bet Shearim|\n| 226| Mishmar HaCarmel |\n| 227| Nahal Me‘arot|\n| 228| Dor-HaBonim|\n| 229| Tel Megiddo|\n| 230| Kokhav HaYarden|\n| 231| Maayan Harod|\n| 232| Bet Alpha|\n| 233| Gan HaShlosha|\n| 235| Taninim Stream|\n| 236| Caesarea|\n| 237| Tel Dor|\n| 238| Mikhmoret Sea Turtle|\n| 239| Beit Yanai|\n| 240| Apollonia|\n| 241| Mekorot HaYarkon|\n| 242| Palmahim|\n| 243| Castel|\n| 244| En Hemed|\n| 245| City of David|\n| 246| Me‘arat Soreq|\n| 248| Bet Guvrin|\n| 249| Sha’ar HaGai|\n| 250| Migdal Tsedek|\n| 251| Haniya Spring|\n| 252| Sebastia|\n| 253| Mount Gerizim|\n| 254| Nebi Samuel|\n| 255| En Prat|\n| 256| En Mabo‘a|\n| 257| Qasr al-Yahud|\n| 258| Good Samaritan|\n| 259| Euthymius Monastery|\n| 261| Qumran|\n| 262| Enot Tsukim|\n| 263| Herodium|\n| 264| Tel Hebron|\n| 267| Masada |\n| 268| Tel Arad|\n| 269| Tel Beer Sheva|\n| 270| Eshkol|\n| 271| Mamshit|\n| 272| Shivta|\n| 273| Ben-Gurion’s Tomb|\n| 274| En Avdat|\n| 275| Avdat|\n| 277| Hay-Bar Yotvata|\n| 278| Coral Beach| \n\n\n\n## Supported Notifications\nThe section identifies all of the services supported by this library. [Check out the wiki for more information on the supported modules here](https://github.com/caronc/apprise/wiki).\n\n### Popular Notification Services\nThe table below identifies the services this tool supports and some example service urls you need to use in order to take advantage of it. Click on any of the services listed below to get more details on how you can configure Apprise to access them.\n\n| Notification Service | Service ID | Default Port | Example Syntax |\n| -------------------- | ---------- | ------------ | -------------- |\n| [Apprise API](https://github.com/caronc/apprise/wiki/Notify_apprise_api)  | apprise:// or apprises:// | (TCP) 80 or 443 | apprise://hostname/Token\n| [AWS SES](https://github.com/caronc/apprise/wiki/Notify_ses)  | ses://   | (TCP) 443   | ses://user@domain/AccessKeyID/AccessSecretKey/RegionName\u003cbr/\u003eses://user@domain/AccessKeyID/AccessSecretKey/RegionName/email1/email2/emailN\n| [Boxcar](https://github.com/caronc/apprise/wiki/Notify_boxcar)  | boxcar://   | (TCP) 443   | boxcar://hostname\u003cbr /\u003eboxcar://hostname/@tag\u003cbr/\u003eboxcar://hostname/device_token\u003cbr /\u003eboxcar://hostname/device_token1/device_token2/device_tokenN\u003cbr /\u003eboxcar://hostname/@tag/@tag2/device_token\n| [Discord](https://github.com/caronc/apprise/wiki/Notify_discord)  | discord://   | (TCP) 443   | discord://webhook_id/webhook_token\u003cbr /\u003ediscord://avatar@webhook_id/webhook_token\n| [Emby](https://github.com/caronc/apprise/wiki/Notify_emby)  | emby:// or embys:// | (TCP) 8096 | emby://user@hostname/\u003cbr /\u003eemby://user:password@hostname\n| [Enigma2](https://github.com/caronc/apprise/wiki/Notify_enigma2)  | enigma2:// or enigma2s:// | (TCP) 80 or 443 | enigma2://hostname\n| [Faast](https://github.com/caronc/apprise/wiki/Notify_faast) | faast://    | (TCP) 443    | faast://authorizationtoken\n| [FCM](https://github.com/caronc/apprise/wiki/Notify_fcm) | fcm://    | (TCP) 443    | fcm://project@apikey/DEVICE_ID\u003cbr /\u003efcm://project@apikey/#TOPIC\u003cbr/\u003efcm://project@apikey/DEVICE_ID1/#topic1/#topic2/DEVICE_ID2/\n| [Flock](https://github.com/caronc/apprise/wiki/Notify_flock) | flock://    | (TCP) 443    | flock://token\u003cbr/\u003eflock://botname@token\u003cbr/\u003eflock://app_token/u:userid\u003cbr/\u003eflock://app_token/g:channel_id\u003cbr/\u003eflock://app_token/u:userid/g:channel_id\n| [Gitter](https://github.com/caronc/apprise/wiki/Notify_gitter) | gitter://    | (TCP) 443    | gitter://token/room\u003cbr/\u003egitter://token/room1/room2/roomN\n| [Google Chat](https://github.com/caronc/apprise/wiki/Notify_googlechat) | gchat://    | (TCP) 443    | gchat://workspace/key/token\n| [Gotify](https://github.com/caronc/apprise/wiki/Notify_gotify) | gotify:// or gotifys://   | (TCP) 80 or 443    | gotify://hostname/token\u003cbr /\u003egotifys://hostname/token?priority=high\n| [Growl](https://github.com/caronc/apprise/wiki/Notify_growl)  | growl://   | (UDP) 23053   | growl://hostname\u003cbr /\u003egrowl://hostname:portno\u003cbr /\u003egrowl://password@hostname\u003cbr /\u003egrowl://password@hostname:port\u003c/br\u003e**Note**: you can also use the get parameter _version_ which can allow the growl request to behave using the older v1.x protocol. An example would look like: growl://hostname?version=1\n| [Home Assistant](https://github.com/caronc/apprise/wiki/Notify_homeassistant)       | hassio:// or hassios://   | (TCP) 8123 or 443 | hassio://hostname/accesstoken\u003cbr /\u003ehassio://user@hostname/accesstoken\u003cbr /\u003ehassio://user:password@hostname:port/accesstoken\u003cbr /\u003ehassio://hostname/optional/path/accesstoken\n| [IFTTT](https://github.com/caronc/apprise/wiki/Notify_ifttt) | ifttt://    | (TCP) 443    | ifttt://webhooksID/Event\u003cbr /\u003eifttt://webhooksID/Event1/Event2/EventN\u003cbr/\u003eifttt://webhooksID/Event1/?+Key=Value\u003cbr/\u003eifttt://webhooksID/Event1/?-Key=value1\n| [Join](https://github.com/caronc/apprise/wiki/Notify_join) | join://   | (TCP) 443    | join://apikey/device\u003cbr /\u003ejoin://apikey/device1/device2/deviceN/\u003cbr /\u003ejoin://apikey/group\u003cbr /\u003ejoin://apikey/groupA/groupB/groupN\u003cbr /\u003ejoin://apikey/DeviceA/groupA/groupN/DeviceN/\n| [KODI](https://github.com/caronc/apprise/wiki/Notify_kodi) | kodi:// or kodis://    | (TCP) 8080 or 443   | kodi://hostname\u003cbr /\u003ekodi://user@hostname\u003cbr /\u003ekodi://user:password@hostname:port\n| [Kumulos](https://github.com/caronc/apprise/wiki/Notify_kumulos) | kumulos:// | (TCP) 443 | kumulos://apikey/serverkey\n| [LaMetric Time](https://github.com/caronc/apprise/wiki/Notify_lametric) | lametric:// | (TCP) 443 | lametric://apikey@device_ipaddr\u003cbr/\u003elametric://apikey@hostname:port\u003cbr/\u003elametric://client_id@client_secret\n| [Mailgun](https://github.com/caronc/apprise/wiki/Notify_mailgun) | mailgun:// | (TCP) 443 | mailgun://user@hostname/apikey\u003cbr /\u003emailgun://user@hostname/apikey/email\u003cbr /\u003emailgun://user@hostname/apikey/email1/email2/emailN\u003cbr /\u003emailgun://user@hostname/apikey/?name=\"From%20User\"\n| [Matrix](https://github.com/caronc/apprise/wiki/Notify_matrix) | matrix:// or matrixs://  | (TCP) 80 or 443 | matrix://hostname\u003cbr /\u003ematrix://user@hostname\u003cbr /\u003ematrixs://user:pass@hostname:port/#room_alias\u003cbr /\u003ematrixs://user:pass@hostname:port/!room_id\u003cbr /\u003ematrixs://user:pass@hostname:port/#room_alias/!room_id/#room2\u003cbr /\u003ematrixs://token@hostname:port/?webhook=matrix\u003cbr /\u003ematrix://user:token@hostname/?webhook=slack\u0026format=markdown\n| [Mattermost](https://github.com/caronc/apprise/wiki/Notify_mattermost) | mmost:// or mmosts:// | (TCP) 8065 | mmost://hostname/authkey\u003cbr /\u003emmost://hostname:80/authkey\u003cbr /\u003emmost://user@hostname:80/authkey\u003cbr /\u003emmost://hostname/authkey?channel=channel\u003cbr /\u003emmosts://hostname/authkey\u003cbr /\u003emmosts://user@hostname/authkey\u003cbr /\u003e\n| [Microsoft Teams](https://github.com/caronc/apprise/wiki/Notify_msteams) | msteams://  | (TCP) 443   | msteams://TokenA/TokenB/TokenC/\n| [MQTT](https://github.com/caronc/apprise/wiki/Notify_mqtt) | mqtt://  or mqtts:// | (TCP) 1883 or 8883   | mqtt://hostname/topic\u003cbr /\u003emqtt://user@hostname/topic\u003cbr /\u003emqtts://user:pass@hostname:9883/topic\n| [Nextcloud](https://github.com/caronc/apprise/wiki/Notify_nextcloud) | ncloud:// or nclouds:// | (TCP) 80 or 443 | ncloud://adminuser:pass@host/User\u003cbr/\u003enclouds://adminuser:pass@host/User1/User2/UserN\n| [NextcloudTalk](https://github.com/caronc/apprise/wiki/Notify_nextcloudtalk) | nctalk:// or nctalks:// | (TCP) 80 or 443 | nctalk://user:pass@host/RoomId\u003cbr/\u003enctalks://user:pass@host/RoomId1/RoomId2/RoomIdN\n| [Notica](https://github.com/caronc/apprise/wiki/Notify_notica) | notica://  | (TCP) 443   | notica://Token/\n| [Notifico](https://github.com/caronc/apprise/wiki/Notify_notifico) | notifico://  | (TCP) 443   | notifico://ProjectID/MessageHook/\n| [Office 365](https://github.com/caronc/apprise/wiki/Notify_office365) | o365://  | (TCP) 443   | o365://TenantID:AccountEmail/ClientID/ClientSecret\u003cbr /\u003eo365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail\u003cbr /\u003eo365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail1/TargetEmail2/TargetEmailN\n| [OneSignal](https://github.com/caronc/apprise/wiki/Notify_onesignal) | onesignal:// | (TCP) 443 | onesignal://AppID@APIKey/PlayerID\u003cbr/\u003eonesignal://TemplateID:AppID@APIKey/UserID\u003cbr/\u003eonesignal://AppID@APIKey/#IncludeSegment\u003cbr/\u003eonesignal://AppID@APIKey/Email\n| [Opsgenie](https://github.com/caronc/apprise/wiki/Notify_opsgenie) | opsgenie:// | (TCP) 443 | opsgenie://APIKey\u003cbr/\u003eopsgenie://APIKey/UserID\u003cbr/\u003eopsgenie://APIKey/#Team\u003cbr/\u003eopsgenie://APIKey/\\*Schedule\u003cbr/\u003eopsgenie://APIKey/^Escalation\n| [ParsePlatform](https://github.com/caronc/apprise/wiki/Notify_parseplatform) | parsep:// or parseps:// | (TCP) 80 or 443 | parsep://AppID:MasterKey@Hostname\u003cbr/\u003eparseps://AppID:MasterKey@Hostname\n| [PopcornNotify](https://github.com/caronc/apprise/wiki/Notify_popcornnotify) | popcorn://  | (TCP) 443   | popcorn://ApiKey/ToPhoneNo\u003cbr/\u003epopcorn://ApiKey/ToPhoneNo1/ToPhoneNo2/ToPhoneNoN/\u003cbr/\u003epopcorn://ApiKey/ToEmail\u003cbr/\u003epopcorn://ApiKey/ToEmail1/ToEmail2/ToEmailN/\u003cbr/\u003epopcorn://ApiKey/ToPhoneNo1/ToEmail1/ToPhoneNoN/ToEmailN\n| [Prowl](https://github.com/caronc/apprise/wiki/Notify_prowl) | prowl://   | (TCP) 443    | prowl://apikey\u003cbr /\u003eprowl://apikey/providerkey\n| [PushBullet](https://github.com/caronc/apprise/wiki/Notify_pushbullet) | pbul://    | (TCP) 443    | pbul://accesstoken\u003cbr /\u003epbul://accesstoken/#channel\u003cbr/\u003epbul://accesstoken/A_DEVICE_ID\u003cbr /\u003epbul://accesstoken/email@address.com\u003cbr /\u003epbul://accesstoken/#channel/#channel2/email@address.net/DEVICE\n| [Pushjet](https://github.com/caronc/apprise/wiki/Notify_pushjet) | pjet:// or pjets:// | (TCP) 80 or 443 | pjet://hostname/secret\u003cbr /\u003epjet://hostname:port/secret\u003cbr /\u003epjets://secret@hostname/secret\u003cbr /\u003epjets://hostname:port/secret\n| [Push (Techulus)](https://github.com/caronc/apprise/wiki/Notify_techulus) | push://    | (TCP) 443    | push://apikey/\n| [Pushed](https://github.com/caronc/apprise/wiki/Notify_pushed) | pushed://    | (TCP) 443    | pushed://appkey/appsecret/\u003cbr/\u003epushed://appkey/appsecret/#ChannelAlias\u003cbr/\u003epushed://appkey/appsecret/#ChannelAlias1/#ChannelAlias2/#ChannelAliasN\u003cbr/\u003epushed://appkey/appsecret/@UserPushedID\u003cbr/\u003epushed://appkey/appsecret/@UserPushedID1/@UserPushedID2/@UserPushedIDN\n| [Pushover](https://github.com/caronc/apprise/wiki/Notify_pushover)  | pover://   | (TCP) 443   | pover://user@token\u003cbr /\u003epover://user@token/DEVICE\u003cbr /\u003epover://user@token/DEVICE1/DEVICE2/DEVICEN\u003cbr /\u003e**Note**: you must specify both your user_id and token\n| [PushSafer](https://github.com/caronc/apprise/wiki/Notify_pushsafer)  | psafer:// or psafers://  | (TCP) 80 or 443  | psafer://privatekey\u003cbr /\u003epsafers://privatekey/DEVICE\u003cbr /\u003epsafer://privatekey/DEVICE1/DEVICE2/DEVICEN\n| [Reddit](https://github.com/caronc/apprise/wiki/Notify_reddit) | reddit:// | (TCP) 443   | reddit://user:password@app_id/app_secret/subreddit\u003cbr /\u003ereddit://user:password@app_id/app_secret/sub1/sub2/subN\n| [Rocket.Chat](https://github.com/caronc/apprise/wiki/Notify_rocketchat) | rocket:// or rockets://  | (TCP) 80 or 443   | rocket://user:password@hostname/RoomID/Channel\u003cbr /\u003erockets://user:password@hostname:443/#Channel1/#Channel1/RoomID\u003cbr /\u003erocket://user:password@hostname/#Channel\u003cbr /\u003erocket://webhook@hostname\u003cbr /\u003erockets://webhook@hostname/@User/#Channel\n| [Ryver](https://github.com/caronc/apprise/wiki/Notify_ryver) | ryver://  | (TCP) 443   | ryver://Organization/Token\u003cbr /\u003eryver://botname@Organization/Token\n| [SendGrid](https://github.com/caronc/apprise/wiki/Notify_sendgrid) | sendgrid://  | (TCP) 443   | sendgrid://APIToken:FromEmail/\u003cbr /\u003esendgrid://APIToken:FromEmail/ToEmail\u003cbr /\u003esendgrid://APIToken:FromEmail/ToEmail1/ToEmail2/ToEmailN/\n| [ServerChan](https://github.com/caronc/apprise/wiki/Notify_serverchan) | serverchan://   | (TCP) 443    | serverchan://token/\n| [SimplePush](https://github.com/caronc/apprise/wiki/Notify_simplepush) | spush://   | (TCP) 443    | spush://apikey\u003cbr /\u003espush://salt:password@apikey\u003cbr /\u003espush://apikey?event=Apprise\n| [Slack](https://github.com/caronc/apprise/wiki/Notify_slack) | slack://  | (TCP) 443   | slack://TokenA/TokenB/TokenC/\u003cbr /\u003eslack://TokenA/TokenB/TokenC/Channel\u003cbr /\u003eslack://botname@TokenA/TokenB/TokenC/Channel\u003cbr /\u003eslack://user@TokenA/TokenB/TokenC/Channel1/Channel2/ChannelN\n| [SMTP2Go](https://github.com/caronc/apprise/wiki/Notify_smtp2go) | smtp2go:// | (TCP) 443 | smtp2go://user@hostname/apikey\u003cbr /\u003esmtp2go://user@hostname/apikey/email\u003cbr /\u003esmtp2go://user@hostname/apikey/email1/email2/emailN\u003cbr /\u003esmtp2go://user@hostname/apikey/?name=\"From%20User\"\n| [Streamlabs](https://github.com/caronc/apprise/wiki/Notify_streamlabs) | strmlabs:// | (TCP) 443 | strmlabs://AccessToken/\u003cbr/\u003estrmlabs://AccessToken/?name=name\u0026identifier=identifier\u0026amount=0\u0026currency=USD\n| [SparkPost](https://github.com/caronc/apprise/wiki/Notify_sparkpost) | sparkpost:// | (TCP) 443 | sparkpost://user@hostname/apikey\u003cbr /\u003esparkpost://user@hostname/apikey/email\u003cbr /\u003esparkpost://user@hostname/apikey/email1/email2/emailN\u003cbr /\u003esparkpost://user@hostname/apikey/?name=\"From%20User\"\n| [Spontit](https://github.com/caronc/apprise/wiki/Notify_spontit) | spontit://  | (TCP) 443   | spontit://UserID@APIKey/\u003cbr /\u003espontit://UserID@APIKey/Channel\u003cbr /\u003espontit://UserID@APIKey/Channel1/Channel2/ChannelN\n| [Syslog](https://github.com/caronc/apprise/wiki/Notify_syslog) | syslog://  | (UDP) 514 (_if hostname specified_) | syslog://\u003cbr /\u003esyslog://Facility\u003cbr /\u003esyslog://hostname\u003cbr /\u003esyslog://hostname/Facility\n| [Telegram](https://github.com/caronc/apprise/wiki/Notify_telegram) | tgram://  | (TCP) 443   | tgram://bottoken/ChatID\u003cbr /\u003etgram://bottoken/ChatID1/ChatID2/ChatIDN\n| [Twitter](https://github.com/caronc/apprise/wiki/Notify_twitter) | twitter://  | (TCP) 443   | twitter://CKey/CSecret/AKey/ASecret\u003cbr/\u003etwitter://user@CKey/CSecret/AKey/ASecret\u003cbr/\u003etwitter://CKey/CSecret/AKey/ASecret/User1/User2/User2\u003cbr/\u003etwitter://CKey/CSecret/AKey/ASecret?mode=tweet\n| [Twist](https://github.com/caronc/apprise/wiki/Notify_twist) | twist://  | (TCP) 443   | twist://pasword:login\u003cbr/\u003etwist://password:login/#channel\u003cbr/\u003etwist://password:login/#team:channel\u003cbr/\u003etwist://password:login/#team:channel1/channel2/#team3:channel\n| [XBMC](https://github.com/caronc/apprise/wiki/Notify_xbmc) | xbmc:// or xbmcs://    | (TCP) 8080 or 443   | xbmc://hostname\u003cbr /\u003exbmc://user@hostname\u003cbr /\u003exbmc://user:password@hostname:port\n| [XMPP](https://github.com/caronc/apprise/wiki/Notify_xmpp) | xmpp:// or xmpps://    | (TCP) 5222 or 5223   | xmpp://user:password@hostname\u003cbr /\u003exmpps://user:password@hostname:port?jid=user@hostname/resource\u003cbr/\u003exmpps://user:password@hostname/target@myhost, target2@myhost/resource\n| [Webex Teams (Cisco)](https://github.com/caronc/apprise/wiki/Notify_wxteams) | wxteams://  | (TCP) 443   | wxteams://Token\n| [Zulip Chat](https://github.com/caronc/apprise/wiki/Notify_zulip) | zulip://  | (TCP) 443   | zulip://botname@Organization/Token\u003cbr /\u003ezulip://botname@Organization/Token/Stream\u003cbr /\u003ezulip://botname@Organization/Token/Email\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0mer%2Fweathy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft0mer%2Fweathy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0mer%2Fweathy/lists"}