diff --git a/data/blacklist.json b/data/blacklist.json index 219672f..7429c5f 100644 --- a/data/blacklist.json +++ b/data/blacklist.json @@ -1,47 +1,73 @@ [ + "rerchat@conference.weather.im", + "ncrfcchat@conference.weather.im", "mkx_madison_spotters@conference.weather.im", + "zanchat@conference.weather.im", "michiganwxalerts@conference.weather.im", "skywarnstatewidechase@conference.weather.im", "wws44fl@conference.weather.im", + "hatchat@conference.weather.im", "crisfield-chat@conference.weather.im", "gstweather@conference.weather.im", + "tws_chat@conference.weather.im", "franklin_chat@conference.weather.im", + "cnrfcchat@conference.weather.im", "mke-skywarn@conference.weather.im", "tnwxdiscuss@conference.weather.im", "khws@conference.weather.im", + "kcichat@conference.weather.im", "kodster@conference.weather.im", "wxst@conference.weather.im", "reddit_weatherlab@conference.weather.im", "nalsw@conference.weather.im", "barnburnerwi@conference.weather.im", "ohiostormspottersteamoss@conference.weather.im", + "siawx_chat@conference.weather.im", "n90@conference.weather.im", "nerfcchat@conference.weather.im", + "lmrfcchat@conference.weather.im", + "mbrfcchat@conference.weather.im", "pitchat@conference.weather.im", "chachat@conference.weather.im", "spcmobile2006@conference.weather.im", "phl@conference.weather.im", "wbkoweatherwatchers@conference.weather.im", + "gcwxchat@conference.weather.im", + "zzmkxchat@conference.weather.im", + "dentcoeas@conference.weather.im", + "marfcchat@conference.weather.im", "easwtalk@conference.weather.im", "gccc-nc-skywarn@conference.weather.im", - "cyschat@conference.weather.im", "mseas-weather-discussion@conference.weather.im", "abc3340@conference.weather.im", + "awpwxchat@conference.weather.im", + "wilchat@conference.weather.im", "okc_chatrooms@conference.weather.im", + "kdtxchat@conference.weather.im", + "wnpchat@conference.weather.im", + "fox6chat@conference.weather.im", + "cbrfcchat@conference.weather.im", "wisconsin_storm_spotters@conference.weather.im", + "nwrfcchat@conference.weather.im", + "wgrfcchat@conference.weather.im", "uswat@conference.weather.im", + "iowawx@conference.weather.im", + "ohrfcchat@conference.weather.im", + "serfcchat@conference.weather.im", + "stichat@conference.weather.im", "whntweather@conference.weather.im", "knsw@conference.weather.im", "test@conference.weather.im", "abc3340skywatcher@conference.weather.im", + "abrfcchat@conference.weather.im", "bmxspotterchat@conference.weather.im", + "aprfcchat@conference.weather.im", "wwsreport@conference.weather.im", "bmxalertchat@conference.weather.im", "twitter@conference.weather.im", "potomac_tracon@conference.weather.im", "detroiteaschat@conference.weather.im", "cwest@conference.weather.im", - "wpcchat@conference.weather.im", "sweaseops1@conference.weather.im", "scwx@conference.weather.im", "nwsc@conference.weather.im" diff --git a/data/wfos.json b/data/wfos.json index 4cdfaad..1b5b26d 100644 --- a/data/wfos.json +++ b/data/wfos.json @@ -1,514 +1,594 @@ { - "abq": { - "location": "Albuquerque, NM", - "room": "abqchat" + "iln": { + "room": "ilnchat", + "location": "Wilmington" }, - "abr": { - "location": "Aberdeen, SD", - "room": "abrchat" + "zhu": { + "room": "zhuchat", + "location": "Houston" }, - "afc": { - "location": "Anchorage, AK", - "room": "afcchat" - }, - "afg": { - "location": "Fairbanks, AK", - "room": "afgchat" - }, - "ajk": { - "location": "Juneau, AK", - "room": "ajkchat" - }, - "akq": { - "location": "Wakefield, VA", - "room": "akqchat" - }, - "aly": { - "location": "Albany, NY", - "room": "alychat" - }, - "ama": { - "location": "Amarillo, TX", - "room": "amachat" - }, - "apx": { - "location": "Gaylord, MI", - "room": "apxchat" - }, - "arx": { - "location": "La Crosse, WI", - "room": "arxchat" - }, - "bgm": { - "location": "Binghamton, NY", - "room": "bgmchat" - }, - "bis": { - "location": "Bismarck, ND", - "room": "bischat" - }, - "bmx": { - "location": "Birmingham, AL", - "room": "bmxchat" - }, - "boi": { - "location": "Boise, ID", - "room": "boichat" - }, - "bou": { - "location": "Denver (Boulder), CO", - "room": "bouchat" - }, - "box": { - "location": "Boston, MA", - "room": "boxchat" - }, - "bro": { - "location": "Brownsville, TX", - "room": "brochat" - }, - "btv": { - "location": "Burlington, VT", - "room": "btvchat" - }, - "buf": { - "location": "Buffalo, NY", - "room": "bufchat" - }, - "byz": { - "location": "Billings, MT", - "room": "byzchat" - }, - "cae": { - "location": "Columbia, SC", - "room": "caechat" - }, - "car": { - "location": "Caribou, ME", - "room": "carchat" - }, - "chs": { - "location": "Charleston, SC", - "room": "chschat" - }, - "cle": { - "location": "Cleveland, OH", - "room": "clechat" - }, - "crp": { - "location": "Corpus Christi, TX", - "room": "crpchat" - }, - "ctp": { - "location": "State College, PA", - "room": "ctpchat" - }, - "cys": { - "location": "Cheyenne, WY", - "room": "cyschat" - }, - "ddc": { - "location": "Dodge City, KS", - "room": "ddcchat" - }, - "dlh": { - "location": "Duluth, MN", - "room": "dlhchat" - }, - "dmx": { - "location": "Des Moines, IA", - "room": "dmxchat" - }, - "dtx": { - "location": "Detroit, MI", - "room": "dtxchat" - }, - "dvn": { - "location": "Quad Cities, IA", - "room": "dvnchat" - }, - "eax": { - "location": "Kansas City/Pleasant Hill, MO", - "room": "eaxchat" - }, - "eka": { - "location": "Eureka, CA", - "room": "ekachat" - }, - "epz": { - "location": "El Paso, TX", - "room": "epzchat" - }, - "ewx": { - "location": "Austin/San Antonio, TX", - "room": "ewxchat" - }, - "eyw": { - "location": "Key West, FL", - "room": "eywchat" - }, - "ffc": { - "location": "Atlanta, GA", - "room": "ffcchat" - }, - "fgf": { - "location": "Grand Forks, ND", - "room": "fgfchat" - }, - "fgz": { - "location": "Flagstaff, AZ", - "room": "fgzchat" - }, - "fsd": { - "location": "Sioux Falls, SD", - "room": "fsdchat" - }, - "fwd": { - "location": "Dallas/Fort Worth, TX", - "room": "fwdchat" + "zme": { + "room": "zmechat", + "location": "Memphis" }, "ggw": { - "location": "Glasgow, MT", - "room": "ggwchat" - }, - "gid": { - "location": "Hastings, NE", - "room": "gidchat" - }, - "gjt": { - "location": "Grand Junction, CO", - "room": "gjtchat" - }, - "gld": { - "location": "Goodland, KS", - "room": "gldchat" - }, - "grb": { - "location": "Green Bay, WI", - "room": "grbchat" - }, - "grr": { - "location": "Grand Rapids, MI", - "room": "grrchat" - }, - "gsp": { - "location": "Greenville/Spartanburg, SC", - "room": "gspchat" - }, - "gum": { - "location": "Guam", - "room": "gumchat" - }, - "gyx": { - "location": "Portland/Gray, ME", - "room": "gyxchat" - }, - "hfo": { - "location": "Honolulu, HI", - "room": "hfochat" - }, - "hgx": { - "location": "Houston/Galveston, TX", - "room": "hgxchat" - }, - "hnx": { - "location": "San Joaquin Valley/Hanford, CA", - "room": "hnxchat" - }, - "hun": { - "location": "Huntsville, AL", - "room": "hunchat" - }, - "ict": { - "location": "Wichita, KS", - "room": "ictchat" - }, - "ilm": { - "location": "Wilmington, NC", - "room": "ilmchat" - }, - "iln": { - "location": "Wilmington/Cincinnati, OH", - "room": "ilnchat" - }, - "ilx": { - "location": "Central Illinois (Lincoln, IL)", - "room": "ilxchat" - }, - "ind": { - "location": "Indianapolis, IN", - "room": "indchat" - }, - "iwx": { - "location": "Northern Indiana (North Webster, IN)", - "room": "iwxchat" - }, - "jan": { - "location": "Jackson, MS", - "room": "janchat" - }, - "jax": { - "location": "Jacksonville, FL", - "room": "jaxchat" - }, - "jkl": { - "location": "Jackson, KY", - "room": "jklchat" - }, - "lbf": { - "location": "North Platte, NE", - "room": "lbfchat" - }, - "lch": { - "location": "Lake Charles, LA", - "room": "lchchat" - }, - "lix": { - "location": "New Orleans/Baton Rouge, LA", - "room": "lixchat" - }, - "lkn": { - "location": "Elko, NV", - "room": "lknchat" - }, - "lmk": { - "location": "Louisville, KY", - "room": "lmkchat" - }, - "lot": { - "location": "Chicago, IL", - "room": "lotchat" - }, - "lox": { - "location": "Los Angeles, CA", - "room": "loxchat" - }, - "lsx": { - "location": "St. Louis, MO", - "room": "lsxchat" - }, - "lub": { - "location": "Lubbock, TX", - "room": "lubchat" - }, - "lwx": { - "location": "Baltimore/Washington D.C.", - "room": "lwxchat" - }, - "lzk": { - "location": "Little Rock, AR", - "room": "lzkchat" - }, - "maf": { - "location": "Midland/Odessa, TX", - "room": "mafchat" - }, - "meg": { - "location": "Memphis, TE", - "room": "megchat" - }, - "mfl": { - "location": "Miami, FL", - "room": "mflchat" - }, - "mfr": { - "location": "Medford, OR", - "room": "mfrchat" - }, - "mhx": { - "location": "Morehead City, NC", - "room": "mhxchat" - }, - "mkx": { - "location": "Milwaukee, WI", - "room": "mkxchat" - }, - "mlb": { - "location": "Melbourne, FL", - "room": "mlbchat" - }, - "mob": { - "location": "Mobile, AL", - "room": "mobchat" - }, - "mpx": { - "location": "Minneapolis, MN", - "room": "mpxchat" - }, - "mqt": { - "location": "Marquette, MI", - "room": "mqtchat" - }, - "mrx": { - "location": "Knoxville/Tri-Cities, TN", - "room": "mrxchat" - }, - "mso": { - "location": "Missoula, MT", - "room": "msochat" - }, - "mtr": { - "location": "San Francisco Bay Area/Monterey, CA", - "room": "mtrchat" - }, - "oax": { - "location": "Omaha, NE", - "room": "oaxchat" - }, - "ohx": { - "location": "Nashville, TN", - "room": "ohxchat" - }, - "okx": { - "location": "New York City, Upton, NY", - "room": "okxchat" - }, - "otx": { - "location": "Spokane, WA", - "room": "otxchat" - }, - "oun": { - "location": "Norman (Oklahoma City), OK", - "room": "ounchat" - }, - "pah": { - "location": "Paducah, KY", - "room": "pahchat" - }, - "pbz": { - "location": "Pittsburgh, PA", - "room": "pbzchat" - }, - "pdt": { - "location": "Pendleton, OR", - "room": "pdtchat" - }, - "phi": { - "location": "Philadelphia, PA", - "room": "phichat" - }, - "pih": { - "location": "Pocatello/Idaho Falls, ID", - "room": "pihchat" - }, - "pqr": { - "location": "Portland, OR", - "room": "pqrchat" - }, - "psr": { - "location": "Phoenix, AZ", - "room": "psrchat" - }, - "pub": { - "location": "Pueblo, CO", - "room": "pubchat" - }, - "rah": { - "location": "Raleigh/Durham, NC", - "room": "rahchat" - }, - "rev": { - "location": "Reno, NV", - "room": "revchat" - }, - "riw": { - "location": "Riverton, WY", - "room": "riwchat" - }, - "rlx": { - "location": "Charleston, WV", - "room": "rlxchat" - }, - "rnk": { - "location": "Blacksburg, VA", - "room": "rnkchat" + "room": "ggwchat", + "location": "Glasgow" }, "sew": { - "location": "Seattle/Tacoma, WA", - "room": "sewchat" + "room": "sewchat", + "location": "Seattle" }, - "sgf": { - "location": "Springfield, MO", - "room": "sgfchat" + "ohx": { + "room": "ohxchat", + "location": "Nashville" }, - "sgx": { - "location": "San Diego, CA", - "room": "sgxchat" + "meg": { + "room": "megchat", + "location": "Memphis" }, - "shv": { - "location": "Shreveport, LA", - "room": "shvchat" + "mob": { + "room": "mobchat", + "location": "Mobile" }, - "sjt": { - "location": "San Angelo, TX", - "room": "sjtchat" + "bro": { + "room": "brochat", + "location": "Brownsville" }, - "sju": { - "location": "San Juan, PR", - "room": "sjuchat" + "ddc": { + "room": "ddcchat", + "location": "Dodge_City" + }, + "mfl": { + "room": "mflchat", + "location": "Miami" + }, + "dvn": { + "room": "dvnchat", + "location": "Quad_Cities_Ia" + }, + "gjt": { + "room": "gjtchat", + "location": "Grand_Junction" + }, + "ztl": { + "room": "ztlchat", + "location": "Atlanta" + }, + "lmk": { + "room": "lmkchat", + "location": "Louisville" + }, + "fwd": { + "room": "fwdchat", + "location": "Dallas-Fort_Worth" + }, + "boi": { + "room": "boichat", + "location": "Boise" }, "slc": { - "location": "Salt Lake City, UT", - "room": "slcchat" + "room": "slcchat", + "location": "Salt_Lake_City" + }, + "zob": { + "room": "zobchat", + "location": "Cleveland" + }, + "ama": { + "room": "amachat", + "location": "Amarillo" + }, + "pqr": { + "room": "pqrchat", + "location": "Portland" + }, + "zid": { + "room": "zidchat", + "location": "Indianapolis" + }, + "nhc": { + "room": "nhcchat", + "location": "National_Hurricane_Center" }, "sto": { - "location": "Sacramento, CA", - "room": "stochat" + "room": "stochat", + "location": "Sacramento" }, - "tae": { - "location": "Tallahassee, FL", - "room": "taechat" + "jkl": { + "room": "jklchat", + "location": "Jackson" }, - "tbw": { - "location": "Tampa Bay, FL", - "room": "tbwchat" + "grr": { + "room": "grrchat", + "location": "Grand_Rapids" }, - "tfx": { - "location": "Great Falls, MT", - "room": "tfxchat" - }, - "top": { - "location": "Topeka, KS", - "room": "topchat" - }, - "tsa": { - "location": "Tulsa, OK", - "room": "tsachat" - }, - "twc": { - "location": "Tucson, AZ", - "room": "twcchat" - }, - "unr": { - "location": "Rapid City, SD", - "room": "unrchat" - }, - "vef": { - "location": "Las Vegas, NV", - "room": "vefchat" - }, - "bot": { - "location": "Bot Chat", - "room": "botstalk" - }, - "tst": { - "location": "Test Room", - "room": "test" + "hnx": { + "room": "hnxchat", + "location": "San_Joaquin_Valley-Hanford" }, "spc": { - "location": "Storm Prediction Center", - "room": "spcchat" + "room": "spcchat", + "location": "Storm_Prediction_Center" }, - "rer": { - "location": "Record Event Reports (RER)", - "room": "rerchat" + "lch": { + "room": "lchchat", + "location": "Lake_Charles" }, - "cnr": { - "location": "Central North Regional Forecast (I think)", - "room": "cnrfchat" + "zbw": { + "room": "zbwchat", + "location": "Boston" }, - "ioa": { - "location": "Iowa WX", - "room": "iowawx" + "otx": { + "room": "otxchat", + "location": "Spokane" + }, + "vef": { + "room": "vefchat", + "location": "Las_Vegas" + }, + "pub": { + "room": "pubchat", + "location": "Pueblo" + }, + "psr": { + "room": "psrchat", + "location": "Phoenix" + }, + "sgx": { + "room": "sgxchat", + "location": "San_Diego" + }, + "pbz": { + "room": "pbzchat", + "location": "Pittsburgh" + }, + "eka": { + "room": "ekachat", + "location": "Eureka" + }, + "ilx": { + "room": "ilxchat", + "location": "Lincoln" + }, + "jsj": { + "room": "jsjchat", + "location": "San_Juan" + }, + "mlb": { + "room": "mlbchat", + "location": "Melbourne" + }, + "arx": { + "room": "arxchat", + "location": "La_Crosse" + }, + "ilm": { + "room": "ilmchat", + "location": "Wilmington" + }, + "okx": { + "room": "okxchat", + "location": "New_York" + }, + "bot": { + "room": "botstalk", + "location": "All_Bots_Talk" + }, + "lkn": { + "room": "lknchat", + "location": "Elko" + }, + "rah": { + "room": "rahchat", + "location": "Raleigh" + }, + "afc": { + "room": "afcchat", + "location": "Anchorage" + }, + "lot": { + "room": "lotchat", + "location": "Chicago" + }, + "box": { + "room": "boxchat", + "location": "Boston-Taunton" + }, + "zny": { + "room": "znychat", + "location": "New_York" + }, + "akq": { + "room": "akqchat", + "location": "Wakefield" + }, + "zkc": { + "room": "zkcchat", + "location": "Kansas_City" + }, + "bis": { + "room": "bischat", + "location": "Bismarck" + }, + "twc": { + "room": "twcchat", + "location": "Tucson" + }, + "abr": { + "room": "abrchat", + "location": "Aberdeen" + }, + "pih": { + "room": "pihchat", + "location": "Pocatello-Idaho_Falls" + }, + "zoa": { + "room": "zoachat", + "location": "Oakland" + }, + "mtr": { + "room": "mtrchat", + "location": "San_Francisco" + }, + "sju": { + "room": "sjuchat", + "location": "San_Juan" + }, + "gid": { + "room": "gidchat", + "location": "Hastings" + }, + "zmp": { + "room": "zmpchat", + "location": "Minneapolis" + }, + "phi": { + "room": "phichat", + "location": "Mount_Holly" + }, + "chs": { + "room": "chschat", + "location": "Charleston" + }, + "ajk": { + "room": "ajkchat", + "location": "Juneau" + }, + "bmx": { + "room": "bmxchat", + "location": "Birmingham" + }, + "lix": { + "room": "lixchat", + "location": "New_Orleans" + }, + "apx": { + "room": "apxchat", + "location": "Gaylord" + }, + "hun": { + "room": "hunchat", + "location": "Huntsville" + }, + "zma": { + "room": "zmachat", + "location": "Miami" + }, + "dtx": { + "room": "dtxchat", + "location": "Detroit" + }, + "gum": { + "room": "gumchat", + "location": "Guam" + }, + "crp": { + "room": "crpchat", + "location": "Corpus_Christi" + }, + "zjx": { + "room": "zjxchat", + "location": "Jacksonville" + }, + "shv": { + "room": "shvchat", + "location": "Shreveport" + }, + "tbw": { + "room": "tbwchat", + "location": "Tampa_Bay_Area-Ruskin" + }, + "cys": { + "room": "cyschat", + "location": "Cheyenne" + }, + "hfo": { + "room": "hfochat", + "location": "Honolulu" + }, + "dmx": { + "room": "dmxchat", + "location": "Des_Moines" + }, + "zse": { + "room": "zsechat", + "location": "Seattle" + }, + "rev": { + "room": "revchat", + "location": "Reno" + }, + "car": { + "room": "carchat", + "location": "Caribou" + }, + "mso": { + "room": "msochat", + "location": "Missoula" + }, + "key": { + "room": "keychat", + "location": "Key_West" + }, + "riw": { + "room": "riwchat", + "location": "Riverton" + }, + "mhx": { + "room": "mhxchat", + "location": "Newport-Morehead_City" + }, + "cae": { + "room": "caechat", + "location": "Columbia" + }, + "ind": { + "room": "indchat", + "location": "Indianapolis" + }, + "dlh": { + "room": "dlhchat", + "location": "Duluth" + }, + "unr": { + "room": "unrchat", + "location": "Rapid_City" + }, + "zab": { + "room": "zabchat", + "location": "Albuquerque" + }, + "zlc": { + "room": "zlcchat", + "location": "Salt_Lake_City" + }, + "ffc": { + "room": "ffcchat", + "location": "Peachtree_City" + }, + "epz": { + "room": "epzchat", + "location": "El_Paso_Tx-Santa_Teresa" + }, + "tae": { + "room": "taechat", + "location": "Tallahassee" + }, + "tfx": { + "room": "tfxchat", + "location": "Great_Falls" + }, + "abq": { + "room": "abqchat", + "location": "Albuquerque" + }, + "rlx": { + "room": "rlxchat", + "location": "Charleston" + }, + "oun": { + "room": "ounchat", + "location": "Norman" + }, + "cle": { + "room": "clechat", + "location": "Cleveland" + }, + "lox": { + "room": "loxchat", + "location": "Los_Angeles-Oxnard" + }, + "fsd": { + "room": "fsdchat", + "location": "Sioux_Falls" + }, + "bgm": { + "room": "bgmchat", + "location": "Binghamton" + }, + "ewx": { + "room": "ewxchat", + "location": "Austin-San_Antonio" + }, + "zdv": { + "room": "zdvchat", + "location": "Denver" + }, + "eax": { + "room": "eaxchat", + "location": "Kansas_City-Pleasant_Hill" + }, + "iwx": { + "room": "iwxchat", + "location": "Northern_Indiana" + }, + "lub": { + "room": "lubchat", + "location": "Lubbock" + }, + "buf": { + "room": "bufchat", + "location": "Buffalo" + }, + "pdt": { + "room": "pdtchat", + "location": "Pendleton" + }, + "mkx": { + "room": "mkxchat", + "location": "Milwaukee-Sullivan" + }, + "grb": { + "room": "grbchat", + "location": "Green_Bay" + }, + "top": { + "room": "topchat", + "location": "Topeka" + }, + "rnk": { + "room": "rnkchat", + "location": "Blacksburg" + }, + "lzk": { + "room": "lzkchat", + "location": "Little_Rock" + }, + "ctp": { + "room": "ctpchat", + "location": "State_College" + }, + "gld": { + "room": "gldchat", + "location": "Goodland" + }, + "byz": { + "room": "byzchat", + "location": "Billings" + }, + "mpx": { + "room": "mpxchat", + "location": "Twin_Cities-Chanhassen" + }, + "zdc": { + "room": "zdcchat", + "location": "Washington_DC" + }, + "lsx": { + "room": "lsxchat", + "location": "St_Louis" + }, + "pah": { + "room": "pahchat", + "location": "Paducah" + }, + "bou": { + "room": "bouchat", + "location": "Denver" + }, + "tsa": { + "room": "tsachat", + "location": "Tulsa" + }, + "zfw": { + "room": "zfwchat", + "location": "Fort_Worth" + }, + "zau": { + "room": "zauchat", + "location": "Chicago" + }, + "mqt": { + "room": "mqtchat", + "location": "Marquette" + }, + "maf": { + "room": "mafchat", + "location": "Midland-Odessa" + }, + "mrx": { + "room": "mrxchat", + "location": "Morristown" + }, + "fgz": { + "room": "fgzchat", + "location": "Flagstaff" + }, + "oax": { + "room": "oaxchat", + "location": "Omaha-Valley" + }, + "btv": { + "room": "btvchat", + "location": "Burlington" + }, + "ict": { + "room": "ictchat", + "location": "Wichita" + }, + "mfr": { + "room": "mfrchat", + "location": "Medford" + }, + "hgx": { + "room": "hgxchat", + "location": "Houston-Galveston" + }, + "afg": { + "room": "afgchat", + "location": "Fairbanks" + }, + "sgf": { + "room": "sgfchat", + "location": "Springfield" + }, + "haw": { + "room": "hawaii", + "location": "Hawaii" + }, + "zla": { + "room": "zlachat", + "location": "Los_Angeles" + }, + "aly": { + "room": "alychat", + "location": "Albany" + }, + "sjt": { + "room": "sjtchat", + "location": "San_Angelo" + }, + "jan": { + "room": "janchat", + "location": "Jackson" + }, + "gsp": { + "room": "gspchat", + "location": "Greenville-Spartanburg" + }, + "lwx": { + "room": "lwxchat", + "location": "Baltimore_Md-_Washington_Dc" + }, + "gyx": { + "room": "gyxchat", + "location": "Gray" + }, + "wpc": { + "room": "wpcchat", + "location": "Weather_Prediction_Center" + }, + "lbf": { + "room": "lbfchat", + "location": "North_Platte" + }, + "jax": { + "room": "jaxchat", + "location": "Jacksonville" + }, + "fgf": { + "room": "fgfchat", + "location": "Grand_Forks" } } \ No newline at end of file diff --git a/genblacklist.js b/genblacklist.js new file mode 100644 index 0000000..5b5ccd4 --- /dev/null +++ b/genblacklist.js @@ -0,0 +1,116 @@ +const goodrooms = require("./goodrooms.json"); +// goodrooms is an array of objects {room: string, name: string} +const { client, xml } = require("@xmpp/client"); +const colors = require("colors"); + +const generateRandomString = function (options, length) { + let result = ''; + const characters = { + upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', + lower: 'abcdefghijklmnopqrstuvwxyz', + number: '0123456789', + special: '!@#$%^&*()_+' + }; + let chars = ''; + for (const key in options) { + if (options[key]) { + chars += characters[key]; + } + } + for (let i = 0; i < length; i++) { + result += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return result; +} + +// Func to generate UUID +const generateUUID = function () { + return generateRandomString({ lower: true, upper: true, number: true }, 8) + "-" + generateRandomString({ lower: true, upper: true, number: true }, 4) + "-" + generateRandomString({ lower: true, upper: true, number: true }, 4) + "-" + generateRandomString({ lower: true, upper: true, number: true }, 4) + "-" + generateRandomString({ lower: true, upper: true, number: true }, 12); +} + +const xmpp = client({ + service: "xmpp://conference.weather.im", + domain: "weather.im", + resource: `discord-weather-bot-${generateRandomString({ upper: true, lower: true, number: true }, 5)}`, // Weird fix to "Username already in use" +}); + +var blacklist = []; +var rooms = {}; +xmpp.on("stanza", (stanza) => { + // Debug stuff + + + // Handle Room List + if (stanza.is("iq") && stanza.attrs.type === "result" && stanza.getChild("query")) { + query = stanza.getChild("query"); + if (query.attrs.xmlns === "http://jabber.org/protocol/disco#items") { + query.getChildren("item").forEach((item) => { + roomname = item.attrs.jid.split("@")[0]; + console.log(`${colors.cyan("[INFO]")} Found room: ${item.attrs.jid}`); + // if room not in goodrooms list add to blacklist array + if (!goodrooms.find(room => room.room === roomname)) { + blacklist.push(item.attrs.jid); + return console.log(`${colors.red("[INFO]")} Added room to blacklist: ${roomname}`); + } + + // Get proper text name from goodrooms + properName = goodrooms.find(room => room.room === roomname).name; + console.log(properName) + + // room is in goodrooms, get first 3 of room name, add it to rooms object 3char: {room: roomname, name: name} + rooms[roomname.substring(0, 3)] = { room: roomname, location: properName }; + }); + clearTimeout(start); + start = setTimeout(() => { + console.log(`${colors.green("[INFO]")} Blacklist: ${JSON.stringify(blacklist)}`); + console.log(`${colors.green("[INFO]")} Rooms: ${JSON.stringify(rooms)}`); + + xmpp.stop(); + }, 5000); + } + } + +}); + +xmpp.on("online", async (address) => { + + errCount = 0; + // Start listening on all channels, (dont ban me funny man) + // for (const channel in iem) { + // console.log(`Joining ${channel.name}`) + // await xmpp.send(xml("presence", { to: `${channel.jud}/${channel.name}` })); + // } + /* sub format + + + + visitor + + + + */ + + // Request room list + // Automatically find room list + xmpp.send(xml("iq", { type: "get", to: "conference.weather.im", id: "rooms" }, xml("query", { xmlns: "http://jabber.org/protocol/disco#items" }))); + // Join all channels (Old method) + // iem.forEach((channel => { + // console.log(`${colors.cyan("[INFO]")} Joining ${channel.jid}/${channel.name}/${curUUID}`) + // //xmpp.send(xml("presence", { to: `${channel.jid}/${channel.jid.split("@")[0]}` })); + // xmpp.send(xml("presence", { to: `${channel.jid}/${channel.name}/${curUUID}` }, xml("item", { role: "visitor" }))); + // })) + + console.log(`${colors.cyan("[INFO]")} Connected to XMPP server as ${address.toString()}`); + + setTimeout(() => { + startup = false; + console.log(`${colors.cyan("[INFO]")} Startup complete, listening for messages...`); + }, 1000) +}); + +var start = setTimeout(() => { + console.log(`${colors.green("[INFO]")} Blacklist: ${blacklist}`); + console.log(`${colors.green("[INFO]")} Rooms: ${rooms}`); + xmpp.stop(); +}, 5000); +xmpp.start().catch(console.error); diff --git a/goodrooms.json b/goodrooms.json new file mode 100644 index 0000000..58d8f2a --- /dev/null +++ b/goodrooms.json @@ -0,0 +1,654 @@ +[ + { + "room": "botstalk", + "name": "All_Bots_Talk" + }, + { + "room": "nhcchat", + "name": "National_Hurricane_Center" + }, + { + "room": "spcchat", + "name": "Storm_Prediction_Center" + }, + { + "room": "wpcchat", + "name": "Weather_Prediction_Center" + }, + { + "room": "abqchat", + "name": "Albuquerque" + }, + { + "room": "abrchat", + "name": "Aberdeen" + }, + { + "room": "afcchat", + "name": "Anchorage" + }, + { + "room": "afgchat", + "name": "Fairbanks" + }, + { + "room": "ajkchat", + "name": "Juneau" + }, + { + "room": "akqchat", + "name": "Wakefield" + }, + { + "room": "alychat", + "name": "Albany" + }, + { + "room": "amachat", + "name": "Amarillo" + }, + { + "room": "apxchat", + "name": "Gaylord" + }, + { + "room": "arxchat", + "name": "La_Crosse" + }, + { + "room": "bgmchat", + "name": "Binghamton" + }, + { + "room": "bischat", + "name": "Bismarck" + }, + { + "room": "bmxchat", + "name": "Birmingham" + }, + { + "room": "boichat", + "name": "Boise" + }, + { + "room": "bouchat", + "name": "Denver" + }, + { + "room": "boxchat", + "name": "Boston-Taunton" + }, + { + "room": "brochat", + "name": "Brownsville" + }, + { + "room": "btvchat", + "name": "Burlington" + }, + { + "room": "bufchat", + "name": "Buffalo" + }, + { + "room": "byzchat", + "name": "Billings" + }, + { + "room": "caechat", + "name": "Columbia" + }, + { + "room": "carchat", + "name": "Caribou" + }, + { + "room": "chschat", + "name": "Charleston" + }, + { + "room": "clechat", + "name": "Cleveland" + }, + { + "room": "crpchat", + "name": "Corpus_Christi" + }, + { + "room": "ctpchat", + "name": "State_College" + }, + { + "room": "cyschat", + "name": "Cheyenne" + }, + { + "room": "ddcchat", + "name": "Dodge_City" + }, + { + "room": "dlhchat", + "name": "Duluth" + }, + { + "room": "dmxchat", + "name": "Des_Moines" + }, + { + "room": "dtxchat", + "name": "Detroit" + }, + { + "room": "dvnchat", + "name": "Quad_Cities_Ia" + }, + { + "room": "eaxchat", + "name": "Kansas_City-Pleasant_Hill" + }, + { + "room": "ekachat", + "name": "Eureka" + }, + { + "room": "epzchat", + "name": "El_Paso_Tx-Santa_Teresa" + }, + { + "room": "ewxchat", + "name": "Austin-San_Antonio" + }, + { + "room": "ffcchat", + "name": "Peachtree_City" + }, + { + "room": "fgfchat", + "name": "Grand_Forks" + }, + { + "room": "fgzchat", + "name": "Flagstaff" + }, + { + "room": "fsdchat", + "name": "Sioux_Falls" + }, + { + "room": "fwdchat", + "name": "Dallas-Fort_Worth" + }, + { + "room": "ggwchat", + "name": "Glasgow" + }, + { + "room": "gidchat", + "name": "Hastings" + }, + { + "room": "gjtchat", + "name": "Grand_Junction" + }, + { + "room": "gldchat", + "name": "Goodland" + }, + { + "room": "grbchat", + "name": "Green_Bay" + }, + { + "room": "grrchat", + "name": "Grand_Rapids" + }, + { + "room": "gspchat", + "name": "Greenville-Spartanburg" + }, + { + "room": "gumchat", + "name": "Guam" + }, + { + "room": "gyxchat", + "name": "Gray" + }, + { + "room": "hawaii", + "name": "Hawaii" + }, + { + "room": "hfochat", + "name": "Honolulu" + }, + { + "room": "hgxchat", + "name": "Houston-Galveston" + }, + { + "room": "hnxchat", + "name": "San_Joaquin_Valley-Hanford" + }, + { + "room": "hunchat", + "name": "Huntsville" + }, + { + "room": "ictchat", + "name": "Wichita" + }, + { + "room": "ilmchat", + "name": "Wilmington" + }, + { + "room": "ilnchat", + "name": "Wilmington" + }, + { + "room": "ilxchat", + "name": "Lincoln" + }, + { + "room": "indchat", + "name": "Indianapolis" + }, + { + "room": "iwxchat", + "name": "Northern_Indiana" + }, + { + "room": "janchat", + "name": "Jackson" + }, + { + "room": "jaxchat", + "name": "Jacksonville" + }, + { + "room": "jklchat", + "name": "Jackson" + }, + { + "room": "jsjchat", + "name": "San_Juan" + }, + { + "room": "keychat", + "name": "Key_West" + }, + { + "room": "lbfchat", + "name": "North_Platte" + }, + { + "room": "lchchat", + "name": "Lake_Charles" + }, + { + "room": "lixchat", + "name": "New_Orleans" + }, + { + "room": "lknchat", + "name": "Elko" + }, + { + "room": "lmkchat", + "name": "Louisville" + }, + { + "room": "lotchat", + "name": "Chicago" + }, + { + "room": "loxchat", + "name": "Los_Angeles-Oxnard" + }, + { + "room": "lsxchat", + "name": "St_Louis" + }, + { + "room": "lubchat", + "name": "Lubbock" + }, + { + "room": "lwxchat", + "name": "Baltimore_Md-_Washington_Dc" + }, + { + "room": "lzkchat", + "name": "Little_Rock" + }, + { + "room": "mafchat", + "name": "Midland-Odessa" + }, + { + "room": "megchat", + "name": "Memphis" + }, + { + "room": "mflchat", + "name": "Miami" + }, + { + "room": "mfrchat", + "name": "Medford" + }, + { + "room": "mhxchat", + "name": "Newport-Morehead_City" + }, + { + "room": "mkxchat", + "name": "Milwaukee-Sullivan" + }, + { + "room": "mlbchat", + "name": "Melbourne" + }, + { + "room": "mobchat", + "name": "Mobile" + }, + { + "room": "mpxchat", + "name": "Twin_Cities-Chanhassen" + }, + { + "room": "mqtchat", + "name": "Marquette" + }, + { + "room": "mrxchat", + "name": "Morristown" + }, + { + "room": "msochat", + "name": "Missoula" + }, + { + "room": "mtrchat", + "name": "San_Francisco" + }, + { + "room": "oaxchat", + "name": "Omaha-Valley" + }, + { + "room": "ohxchat", + "name": "Nashville" + }, + { + "room": "okxchat", + "name": "New_York" + }, + { + "room": "otxchat", + "name": "Spokane" + }, + { + "room": "ounchat", + "name": "Norman" + }, + { + "room": "pahchat", + "name": "Paducah" + }, + { + "room": "pbzchat", + "name": "Pittsburgh" + }, + { + "room": "pdtchat", + "name": "Pendleton" + }, + { + "room": "phichat", + "name": "Mount_Holly" + }, + { + "room": "pihchat", + "name": "Pocatello-Idaho_Falls" + }, + { + "room": "pqrchat", + "name": "Portland" + }, + { + "room": "psrchat", + "name": "Phoenix" + }, + { + "room": "pubchat", + "name": "Pueblo" + }, + { + "room": "rahchat", + "name": "Raleigh" + }, + { + "room": "revchat", + "name": "Reno" + }, + { + "room": "riwchat", + "name": "Riverton" + }, + { + "room": "rlxchat", + "name": "Charleston" + }, + { + "room": "rnkchat", + "name": "Blacksburg" + }, + { + "room": "sewchat", + "name": "Seattle" + }, + { + "room": "sgfchat", + "name": "Springfield" + }, + { + "room": "sgxchat", + "name": "San_Diego" + }, + { + "room": "shvchat", + "name": "Shreveport" + }, + { + "room": "sjtchat", + "name": "San_Angelo" + }, + { + "room": "sjuchat", + "name": "San_Juan" + }, + { + "room": "slcchat", + "name": "Salt_Lake_City" + }, + { + "room": "stochat", + "name": "Sacramento" + }, + { + "room": "taechat", + "name": "Tallahassee" + }, + { + "room": "tbwchat", + "name": "Tampa_Bay_Area-Ruskin" + }, + { + "room": "tfxchat", + "name": "Great_Falls" + }, + { + "room": "topchat", + "name": "Topeka" + }, + { + "room": "tsachat", + "name": "Tulsa" + }, + { + "room": "twcchat", + "name": "Tucson" + }, + { + "room": "unrchat", + "name": "Rapid_City" + }, + { + "room": "vefchat", + "name": "Las_Vegas" + }, + { + "room": "alrchat", + "name": "Atlanta_RFC" + }, + { + "room": "fwrchat", + "name": "West_Gulf_RFC" + }, + { + "room": "krfchat", + "name": "Missouri_River_Basin_RFC" + }, + { + "room": "msrchat", + "name": "North_Central_RFC" + }, + { + "room": "ornchat", + "name": "Lower_Mississippi_RFC" + }, + { + "room": "pacrchat", + "name": "Alaska_-_Pacific_RFC" + }, + { + "room": "ptrchat", + "name": "Northwest_RFC" + }, + { + "room": "rhachat", + "name": "Mid_Atlantic_RFC" + }, + { + "room": "rsachat", + "name": "California_-_Nevada_RFC" + }, + { + "room": "strchat", + "name": "Colorado_RFC" + }, + { + "room": "tarchat", + "name": "Northeast_RFC" + }, + { + "room": "tirchat", + "name": "Ohio_RFC" + }, + { + "room": "tuachat", + "name": "Arkansas_Red_River_RFC" + }, + { + "room": "pancchat", + "name": "Anchorage" + }, + { + "room": "zabchat", + "name": "Albuquerque" + }, + { + "room": "zauchat", + "name": "Chicago" + }, + { + "room": "zbwchat", + "name": "Boston" + }, + { + "room": "zdcchat", + "name": "Washington_DC" + }, + { + "room": "zdvchat", + "name": "Denver" + }, + { + "room": "zfwchat", + "name": "Fort_Worth" + }, + { + "room": "zhnchat", + "name": "Honolulu_CWSU" + }, + { + "room": "zhuchat", + "name": "Houston" + }, + { + "room": "zidchat", + "name": "Indianapolis" + }, + { + "room": "zjxchat", + "name": "Jacksonville" + }, + { + "room": "zkcchat", + "name": "Kansas_City" + }, + { + "room": "zlachat", + "name": "Los_Angeles" + }, + { + "room": "zlcchat", + "name": "Salt_Lake_City" + }, + { + "room": "zmachat", + "name": "Miami" + }, + { + "room": "zmechat", + "name": "Memphis" + }, + { + "room": "zmpchat", + "name": "Minneapolis" + }, + { + "room": "znychat", + "name": "New_York" + }, + { + "room": "zoachat", + "name": "Oakland" + }, + { + "room": "zobchat", + "name": "Cleveland" + }, + { + "room": "zsechat", + "name": "Seattle" + }, + { + "room": "ztlchat", + "name": "Atlanta" + } +] \ No newline at end of file