From 558db2de8a0cfb5afdcd2af920fccabf5602508d Mon Sep 17 00:00:00 2001 From: root Date: Wed, 26 Apr 2017 04:29:09 +0000 Subject: [PATCH] Update because reasons --- network.py | 16 ++++++- network.pyc | Bin 0 -> 2855 bytes price.py | 89 ++++++++++++++++++++++++++++++--------- price.pyc | Bin 0 -> 22509 bytes stock.py | 45 ++++++++++++++++++++ stock.pyc | Bin 0 -> 1106 bytes trifling.py | 115 +++++++++++++++++++++++++++++++++++++++++++-------- trifling.pyc | Bin 0 -> 19100 bytes 8 files changed, 227 insertions(+), 38 deletions(-) create mode 100644 network.pyc create mode 100644 price.pyc create mode 100644 stock.py create mode 100644 stock.pyc create mode 100644 trifling.pyc diff --git a/network.py b/network.py index 5e24c90..65f875e 100644 --- a/network.py +++ b/network.py @@ -4,6 +4,20 @@ import re networkurl = "http://api.minexmr.com:8080/stats" +@sopel.module.commands('fork', 'forkening') +def fork(bot, trigger): + try: + r=requests.get(networkurl) + j=r.json() + except Exception,e: + pass + try: + height=j["network"]["height"] + forkheight=1288616 + bot.say("The current block height is {0:,}. Fork height is {1:,}. {2:,} blocks to go, happening in approximately {3:.2f} hours.".format(height,forkheight,forkheight-height,(forkheight-height)/30.0)) + except: + bot.say("Something borked -_-") + @sopel.module.commands('network') def network(bot, trigger): try: @@ -41,7 +55,7 @@ def mempool(bot, trigger): def blocksize(bot, trigger): try: r=requests.get('http://moneroblocks.info/stats/block-medians') - size=re.search(' <\/strong><\/div>\s*
(\d*)', r.text) + size=re.search(' <\/strong><\/div>\s*
(\d*)', r.text) bot.say("Median blocksize over last 200 blocks is {0} bytes".format(size.group(1))) except: bot.say("Bomething sorked 0_0") diff --git a/network.pyc b/network.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2648551cbf41c2be211f6e8ce5f039daa117e49d GIT binary patch literal 2855 zcmbVO|85&a5Z<#LJHJz@4KzfgN2!X5659y{l@OxRmX?2F;8Lk2iWHsi*7iB}t$Vu{ zY!XXI=^O9@{0VQsVuaB6yFYL=(whEp?S@Lq8q#s`1nSJfXtZ5q?vDwo}EQ0fGs z>~*4&r#f5rEB7m9ZCs;G4y)=aIx{APf(S0p2=hGZzsk93hd^rj3NO%wd~`*op@ z@%*eQZ7+@@85+CRR^E}Ftgr)ZpH#Ni1||Cm_KuEj@aV}Vx@3#Cjj|hR&2GBgE_=xi zLK}LddO^oEvfZ~&KG`a5)(3V|#gQ&Ga58>75A+Rmd#WQ%6VA13I7<5V`r$g8ZzeGt z$(OOz0EBqhkj6}-Pp=e5ZN{mkRmeDf-ScGE1bCv=+U@hD0VB*vUP%ThPjpQl?zesw>;&j`HKS)aBHyQn&BWYI44QhqO%A zTClF6<*ckVZ{@8rdWX2ggra*AI*-uwuMq!_P~VLaYDljv=#>|S$wa}H6N`fa6AjUc z7=@k?tswk7*ahNVW*3$fc#L?<>>`V+e1QvJ`9ZxNcyZhGgC1Svdx*E-*W>eTOuB?# z-?+LNfjT_2nQ&*fSx%|*^Q+QV|4tpU&7tshCPi3Y;Lk7t!=h+Be3DdGO;7Si!Wb8LuNdU8UO0 z53+z7^W!O${#u%FkUr9cgS3GZ%V~#_4`+xm7%`tfdk!Prs;XBZDIscPL{0);(+$E> z5Y|=sWjPK#71o2OBYjWBq0ygW`6#Yo+^NaPR(0F-G==`dz<4SMKhk!3i6om0^a^%9 ziIHUbDqgeQ(6{UKl&(h_QALLA0=#pKIL?jinIbvDxeV47aUcxtplJd>!Qp-KJdtG7 z?PLZucKb6Z{m)->J6w&N&v~BmFjqe~pF$5|2LQ$}NQxoC>l_2RaaG@iOp8*ed|5(8 zs=3}#t)xP^wSl^{QAYA3Nc24{{ZIezVo#)AbH5>So8BSO>QDzi$v20PI{bDV1&*F` zD2fcvWdt}}t_Z`sFlP--lU;xzvtZ3yD+B}`#Y7}4IRY+0QNwiq={OXqy@~r%`e&&2 zrnNE4)f5sLZWtM3z@X+%T+VTnII5Z~Oo8dJUlYTU=-^L zKQ#%E|ls8I 1: + pair = trigger.group(2).split(' ')[1].upper() + else: + pair = "BTC" + except: + pair = "BTC" r = requests.get(cryptopiaurl) j = r.json() - xmr=j['Data'] - last=float(xmr['LastPrice']) - change=float(xmr['Change']) - vol=float(xmr['Volume']) - bot.say("Cryptopia at {0:.8f} BTC; {1:.2f}% over 24 hours on {2:.3f} BTC volume".format(last, change, vol*last)) + found = False + for i in j["Data"]: + if i["Label"] == coin+"/"+pair: + last=float(i['LastPrice']) + change=float(i['Change']) + vol=float(i['Volume']) + bot.say("{0} on Cryptopia at {1:.8f} {2}; {3:.2f}% over 24 hours on {4:.3f} {2} volume".format(coin, last, pair, change, vol*last)) + found = True + if found == False: + bot.say("This shit is too shitty even for shitopia") except: bot.say("Error retrieving data from Cryptopia") @sopel.module.commands('cmc', 'coinmarketcap') def cmc(bot, trigger): try: - r = requests.get('https://api.coinmarketcap.com/v1/ticker?limit=100') + r = requests.get('https://api.coinmarketcap.com/v1/ticker?limit=500') j = r.json() except: bot.say("Can't connect to API") if not trigger.group(2): symbol = 'XMR' else: - symbol = trigger.group(2) - symbol = symbol.upper() + if trigger.group(2).isdigit(): + rank = trigger.group(2) + elif trigger.group(2) == 'random': + rank = random.randint(1,500) + else: + symbol = trigger.group(2) + symbol = symbol.upper() try: for i in j: - if i['symbol'] == symbol: - name = i['name'] - rank = i['rank'] - price_usd = float(i['price_usd']) - price_btc = float(i['price_btc']) - volume_usd = float(i['24h_volume_usd']) - market_cap_usd = float(i['market_cap_usd']) - available_supply = float(i['available_supply']) - total_supply = float(i['total_supply']) - percent_change_24h = float(i['percent_change_24h']) + try: + if i['symbol'] == symbol: + coin = i + except: pass + try: + if i['rank'] == str(rank): + coin = i + except: pass + symbol = coin['symbol'] + name = coin['name'] + rank = coin['rank'] + price_usd = float(coin['price_usd']) + price_btc = float(coin['price_btc']) + volume_usd = float(coin['24h_volume_usd']) + market_cap_usd = float(coin['market_cap_usd']) + available_supply = float(coin['available_supply']) + total_supply = float(coin['total_supply']) + percent_change_24h = float(coin['percent_change_24h']) bot.say("{0} ({1}) is #{2}. Last price ${3:.2f} / ฿{4:.8f}. 24h volume ${5:,.0f} changed {6}%. Market cap ${7:,.0f}. Available / total coin supply {8:,.0f} / {9:,.0f}.".format(name, symbol, rank, price_usd, price_btc, volume_usd, percent_change_24h, market_cap_usd, available_supply, total_supply)) except: bot.say("Error parsing ticker") @@ -566,3 +610,10 @@ def log(bot, trigger): bot.say("Last price on c-cex for LOG at {0:.8f} BTC on {1:.3f} BTC volume.".format(last, vol)) except: bot.say("C-cex sucks") + +@sopel.module.commands('price') +def price(bot, trigger): + try: + bot.say("1 XMR = $1000 USD (Offer valid in participating locations)") + except: + bot.say("C-cex sucks") diff --git a/price.pyc b/price.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fca9441129a95f74c31bcb9ac87be452ab97cd17 GIT binary patch literal 22509 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 F|1bS6B#Hn4 literal 0 HcmV?d00001 diff --git a/stock.py b/stock.py new file mode 100644 index 0000000..60cae57 --- /dev/null +++ b/stock.py @@ -0,0 +1,45 @@ +# Copyright (C) 2013 - Russell Bryant +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import urllib +import re +import sys +from sopel import module + + +def get_quote(symbol): + url = 'http://finance.google.com/finance?q=%s' % symbol + content = urllib.urlopen(url).read() + m = re.search('id="ref_(.*?)">(.*?)<', content) + if m: + quote = m.group(2) + else: + quote = 'no quote available for: "%s"' % symbol + return quote + + m = re.search('class="chg" id="ref_\d+_c">(.*?)<', content) + if m: + quote += ' | %s' % m.group(1) + + m = re.search('class="chg" id="ref_\d+_cp">(.*?)<', content) + if m: + quote += ' | %s' % m.group(1) + + return quote + + +def quote(bot, input): + symbol = input.group(2) + bot.say(get_quote(symbol)) +quote.commands = ['quote'] diff --git a/stock.pyc b/stock.pyc new file mode 100644 index 0000000000000000000000000000000000000000..762d84810880f074a38968fee94991325cfc0136 GIT binary patch literal 1106 zcmb7DPm9w~5TBQ%?Y6G2EOZZ|5CfICE6q_@w!6Zfy!4QQND)e!ytb)HUN-MlD72^b z;#bmxAIg&_otZYuUKUL|^JXURH~(Y*c-Z;*>g)R$_K$_<8zlV>S%QB78Nm3DEMP2Z zy9Hy5WeYMJatFo^h{T4^2xvg!u+W600doPe36mDN8~IIio&LgS=nE7L>A6Z)nT$zq zAUR0aNcuZ61Z@CLwgL>m5)}cr0+trs0&FcXHY^=TEZCsMf~^f38>+X&mzai4m$wcS zk0>Q}gogv8J+5&V_l4di%^KYz^vP?&W2U=E2X_(Q?m zPE8A8D5_ExhNf1@C^3{~CHb0`Q57!?1)EoDRr)0D-mLSf%CM*GfE~rEFzClnLOEl& zNFP;Trk|k{R7#nkuQ6s8>=s7{+Nk(rzg!#Y_FS3?BdL?zFAyEk7003}j;)SxERvq= zc}(e28bsHGpjqLTEqV87eQ>#W^{_J9GG0J|pU222?2zZ;6Fj74=9+Z04i8abGh3$0 za7}4Zu1rXc`=7$X2M9Pt($r=UM}jT>0V*LiEF}9b^jdQu?ofzU;7s_wq5HUTc~m6& dZ+w>ip}T~>*!BGK2xUzr9t!$Bw%gsd{TuuF)pq~@ literal 0 HcmV?d00001 diff --git a/trifling.py b/trifling.py index f439fd9..ce0416d 100644 --- a/trifling.py +++ b/trifling.py @@ -5,10 +5,18 @@ import re import requests import praw +@sopel.module.commands('4matter') +def fourmatter(bot, trigger): + bot.say('Irish I be fookin <3 Milo') + @sopel.module.commands('aminorex') def aminorex(bot, trigger): bot.say('if i could replace my wife with a robot... i might seriously think about it') +@sopel.module.commands('ayylmao', 'lmao') +def lmao(bot, trigger): + bot.say('https://i.redd.it/jjiwl9dbejoy.jpg') + @sopel.module.commands('banana') def banana(bot, trigger): bot.say('(') @@ -22,9 +30,13 @@ def barolo(bot, trigger): bot.say('I just opened a 2004 barolo in your and all the devs honor -- https://i.ytimg.com/vi/-JvdfsIeb-s/hqdefault.jpg') @sopel.module.commands('bear') -def banana(bot, trigger): +def bear(bot, trigger): bot.say(u'ʕ ·(エ)· ʔ'.encode('utf8')) +@sopel.module.commands('brothers') +def brothers(bot, trigger): + bot.say(u'http://www.trollaxor.com/2011/11/brief-history-of-ascii-penis.html'.encode('utf8')) + @sopel.module.commands('buyorsell') def buyorsell(bot, trigger): draw = random.random() @@ -73,13 +85,21 @@ def ded(bot, trigger): bot.say('https://imgur.com/a/yzNZW') @sopel.module.commands('donate', 'donation') -def dash(bot, trigger): +def donate(bot, trigger): bot.say('45SkxgDmcLmW5ByS7w9AG78JuJRvCoVKCdGJWnd4US95CBUAtvdGAdM2oHgZgTGjkEAUcwdqcryM819aqdeiKxHSQC8HkmS', trigger.nick) +@sopel.module.commands('dump') +def dump(bot, trigger): + bot.say('https://www.youtube.com/watch?v=RHg8qIKJo1I') + @sopel.module.commands('eth') def eth(bot, trigger): bot.say(u'The world computer 💻🌐'.encode('utf8')) +@sopel.module.commands('fib', 'fibonacci') +def fib(bot, trigger): + bot.say(u'Pardon me, do you have a moment to discuss our lord and savior ✞Cheesus Monero✞?'.encode('utf8')) + @sopel.module.commands('flip') def flip(bot, trigger): bot.say(u'(╯°□°)╯︵ ┻━┻'.encode('utf8')) @@ -94,10 +114,26 @@ fuckyouoptions = [ def fuckyou(bot, trigger): bot.say(random.choice(fuckyouoptions)) +@sopel.module.commands('gay') +def gay(bot, trigger): + bot.say('https://i.imgur.com/RHbXrLa.png') + @sopel.module.commands('gui') def gui(bot, trigger): bot.say('http://imgur.com/a/hnxfS') +@sopel.module.commands('hmm', 'hmmm') +def hmm(bot, trigger): + try: + sub=reddit.get_subreddit('hmmm') + posts=sub.get_new(limit=100) + n=random.randint(0,100) + for i, post in enumerate(posts): + if i==n: + bot.say(post.url) + except: + bot.say("Something something reddit's servers") + @sopel.module.commands('isittrue') def isittrue(bot, trigger): draw = random.random() @@ -114,13 +150,21 @@ def jaxx(bot, trigger): bot.say(u'This command will be implemented soon. Honest. Especially if the devs can provide some unpaid assistance. Soon™...') @sopel.module.commands('joshua1234') -def jaxx(bot, trigger): +def joshua(bot, trigger): bot.say(u'The first, second, third, and fourth amongst joshes.') +@sopel.module.commands('jwinterm') +def jwinterm(bot, trigger): + bot.say(u'j_winter_m') + @sopel.module.commands('lenny') def lenny(bot, trigger): bot.say(u'( ͡° ͜ʖ ͡°)'.encode('utf8')) +@sopel.module.commands('ltc', 'chikun') +def ltc(bot, trigger): + bot.say(u'🐔🐔🐔 https://cdn.meme.am/cache/instances/folder100/48222100.jpg 🐔🐔🐔'.encode('utf8')) + @sopel.module.commands('masternode', 'masternodes') def masternode(bot, trigger): bot.say('http://hadoopilluminated.com/hadoop_illuminated/images/hdfs3.jpg') @@ -141,24 +185,37 @@ def nomnomnom(bot, trigger): def noom(bot, trigger): bot.say(u'┏(.0.)┓'.encode('utf8')) +odboptions = [ +"FBI don't you be watching me", +"Ooo baby I like it raw", +"Jacques Cousteau could never get this low" +] +@sopel.module.commands('odb', 'oldirty') +def odb(bot, trigger): + bot.say(random.choice(confirmoptions)) + +perooptions = [ +'https://www.youtube.com/watch?v=QqreRufrkxM', +'https://www.youtube.com/watch?v=ZnPrtiLy0uU' +] @sopel.module.commands('pero') def pero(bot, trigger): - bot.say('https://www.youtube.com/watch?v=QqreRufrkxM') + bot.say(random.choice(perooptions)) +@sopel.module.commands('pivx') +def pivc(bot, trigger): + bot.say("Masternodes + PoS...what could possibly go wrong?") + +confirmoptions = [ +"I can confirm that it is true", +"This is true", +"Fake news", +"Alternative fact", +"The outlook is murky, ask again later" +] @sopel.module.commands('pleaseconfirm', 'confirm') def confirm(bot, trigger): - draw = random.random() - if draw < 0.20: - silly_string = "I can confirm that it is true" - elif 0.4 > draw >= 0.20: - silly_string = "This is true" - elif 0.6 > draw >= 0.4: - silly_string = "Fake news" - elif 0.8 > draw >= 0.6: - silly_string = "Alternative fact" - elif 1 > draw >= 0.8: - silly_string = "The outlook is murky, ask again later" - bot.say(silly_string) + bot.say(random.choice(confirmoptions)) @sopel.module.commands('rarepepe', 'rare') def rarepepe(bot, trigger): @@ -239,6 +296,10 @@ def tinytrump(bot, trigger): def trump(bot, trigger): bot.say("Monero is the best crypto, believe me, I know crypto and it's going to be yuuuuuuuge!") +@sopel.module.commands('tumbleweed') +def trump(bot, trigger): + bot.say("https://rootco.de/2016-03-28-why-use-tumbleweed/") + @sopel.module.commands('unflip') def unflip(bot, trigger): bot.say(u'┬─┬ノ( º _ ºノ)'.encode('utf8')) @@ -254,19 +315,37 @@ urmomoptions = [ "ur momma has a glass eye with a fish in it", "ur mama is so stupid she sold her romero for bitcoins", "ur momma look like a Simpsons character", -"ur mom is Amanda B Johnson" +"ur mom is so ugly Donald Trump wouldn't even grab her by the pussy", +"ur momma is so stupid she listens to rpietila", +"ur mom is Amanda B Johnson", +"US ur mom if u want to U!", +"ur mom is so stupid she thinks Craig Wright is Satoshi" ] @sopel.module.commands('urmom', 'yourmom', 'yomom', 'yomomma') def urmom(bot, trigger): bot.say(random.choice(urmomoptions)) +vitalikoptions = [ +"https://pbs.twimg.com/media/CrWjczJXgAExF2S.jpg", +"mETH, not even once: https://cdn-az.allevents.in/banners/e7df519e0808bac49fa3aaf503aff87d", +"Betteridge's law of headlines: https://fortunedotcom.files.wordpress.com/2016/09/blo_startups_2520x1667.png" +] +@sopel.module.commands('vitalik', 'buterin') +def vitalik(bot, trigger): + bot.say(random.choice(vitalikoptions)) + + @sopel.module.commands('wat') def wat(bot, trigger): bot.say("https://www.destroyallsoftware.com/talks/wat") +zcashoptions = [ +"Trust us guys, we totally smashed that computer up, with like...magnetic baseball bats.", +"https://youtu.be/A51Bl3jkF0c" +] @sopel.module.commands('zec', 'zcash') def zcash(bot, trigger): - bot.say('Trust us guys, we totally smashed that computer up, with like...magnetic baseball bats.') + bot.say(random.choice(zcashoptions)) @sopel.module.rule('monerobux o\/') def wave(bot, trigger): diff --git a/trifling.pyc b/trifling.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e703a3ee14addf39d4b5947122f5acb1661c0b6 GIT binary patch literal 19100 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 Yty#%EG+V{bI1?^wySdpbQ9(WZA6|7$mH+?% literal 0 HcmV?d00001