aboutsummaryrefslogtreecommitdiffstats
path: root/telebot.py
diff options
context:
space:
mode:
Diffstat (limited to 'telebot.py')
-rwxr-xr-xtelebot.py126
1 files changed, 126 insertions, 0 deletions
diff --git a/telebot.py b/telebot.py
new file mode 100755
index 0000000..47dfdf1
--- /dev/null
+++ b/telebot.py
@@ -0,0 +1,126 @@
+#!/usr/bin/python3
+
+import argparse
+import code
+import readline
+import signal
+import sys
+from telegram.ext import Updater, CommandHandler
+import logging
+import imp
+import json
+sys.path.insert(0, "./python")
+from deviutil import Demon_Father
+hived = imp.load_source("hived", "./hived")
+from hived import networth, highpercentdump_bot
+sys.path.insert(0, "/home/rooot/devi/kaminokumo")
+kaminokumo = imp.load_source("kaminokumo", "/home/rooot/devi/kaminokumo")
+from kaminokumo import mrg import json
+import threading
+from io import TextIOWrapper, BytesIO
+
+telekey_json = "./telekey.json"
+json_key = json.load(open(telekey_json))
+API_TOKEN = json_key['telekey']
+
+class Mg_thread(threading.Thread):
+ def __init__(self, bot, update):
+ self.bot = bot
+ self.update = update
+
+ def run(self):
+ url = json.load(open("/home/bloodstalker/extra/kaminokumo/data.json"))
+ res = mrg(url["1"])
+ text_str = str()
+ if res: text_str = "marge is up"
+ else: text_str = "no marge"
+ res = mrg(url["2"])
+ text_str = str()
+ if res: text_str = "obk is up"
+ else: text_str = "no obk"
+ self.bot.send_message(chat_id=self.update.message.chat_id, text=text_str)
+
+def start(bot, update):
+ bot.send_message(chat_id=update.message.chat_id, text="Hey... nice to make your acquaintance.")
+
+def net(bot, update):
+ total = networth()
+ bot.send_message(chat_id=update.message.chat_id, text=total)
+
+def high(bot, update):
+ total = highpercentdump_bot()
+ total_str = "".join(total)
+ bot.send_message(chat_id=update.message.chat_id, text=total_str)
+
+def mg(bot, update):
+ url = json.load(open("/home/bloodstalker/extra/kaminokumo/data.json"))
+ res = mrg(url["1"])
+ text_str = str()
+ if res: text_str += "marge is up"
+ else: text_str += "no marge\t"
+ res = mrg(url["2"])
+ if res: text_str += "obk is up"
+ else: text_str += "no obk\t"
+ bot.send_message(chat_id=update.message.chat_id, text=text_str)
+
+def generic(bot, update, args):
+ import mushi
+ print(repr(args))
+ old_stdout = sys.stdout
+ sys.stdout = TextIOWrapper(BytesIO(), sys.stdout.encoding)
+ mushi.main(args)
+ sys.stdout.seek(0)
+ out = sys.stdout.read()
+ print(repr(out))
+ bot.send_message(chat_id=update.message.chat_id, text=out)
+ sys.stdout.close()
+ sys.stdout = old_stdout
+
+class Argparser(object):
+ def __init__(self):
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--string", type=str, help="string")
+ parser.add_argument("--bool", action="store_true", help="bool", default=False)
+ parser.add_argument("--dbg", action="store_true", help="debug", default=False)
+ self.args = parser.parse_args()
+
+class Demon(Demon_Father):
+ def run(self):
+ updater = Updater(token=API_TOKEN)
+ bot = updater.bot
+ dispatcher = updater.dispatcher
+ logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
+ start_handler = CommandHandler("start", start)
+ net_handler = CommandHandler("net", net)
+ high_handler = CommandHandler("high", high)
+ mg_handler = CommandHandler("mg", mg)
+ generic_handler = CommandHandler("cc", generic, pass_args=True)
+ dispatcher.add_handler(start_handler)
+ dispatcher.add_handler(net_handler)
+ dispatcher.add_handler(high_handler)
+ dispatcher.add_handler(mg_handler)
+ dispatcher.add_handler(generic_handler)
+ updater.start_polling()
+
+# write code here
+def premain(argparser):
+ #here
+ pidfile = open("/tmp/telebot_temp", "w")
+ demon = Demon(pidfile)
+ demon.run()
+
+def main():
+ argparser = Argparser()
+ if argparser.args.dbg:
+ try:
+ premain(argparser)
+ except:
+ variables = globals().copy()
+ variables.update(locals())
+ shell = code.InteractiveConsole(variables)
+ shell.interact(banner="DEBUG REPL")
+ else:
+ premain(argparser)
+
+if __name__ == "__main__":
+ main()