| import discord | |||||
| import telnetlib as tn | |||||
| from time import sleep | |||||
| import sys, os | |||||
| client = discord.Client() | |||||
| class Mushcord: | |||||
| VERSION = '0.1.3' | |||||
| def __init__(self): | |||||
| self.TOKEN = 'NDc1NzIzMTg2NTUwNjAzNzkz.DkjMAw.ZH9FM4VxY4lieOp_Fl3JmHovx_o' | |||||
| self.server = 'saminga.oyving.org' | |||||
| self.port = 6250 | |||||
| self.username = "mushcord" | |||||
| self.password = "g3licht3n!" | |||||
| @client.event | |||||
| async def on_message(message): | |||||
| if message.author == client.user: | |||||
| return | |||||
| if message.content.startswith('!hello'): | |||||
| msg = 'Hello {0.author.mention}'.format(message) | |||||
| await client.send_message(message.channel, msg) | |||||
| if message.content.startswith('!say'): | |||||
| author = message.author.nick or str(message.author).split('#')[0] | |||||
| content = " ".join(message.content.split(" ")[1:]) | |||||
| msg = bytes(":| {0} says, \"{1}\".\n".format(author, content), "UTF-8") | |||||
| mc.t.write(msg) | |||||
| if message.content.startswith('!"'): | |||||
| author = message.author.nick or str(message.author).split('#')[0] | |||||
| content = message.content[2:] | |||||
| msg = bytes(":| {0} says, \"{1}\".\n".format(author, content), "UTF-8") | |||||
| mc.t.write(msg) | |||||
| if message.content.startswith('!emote'): | |||||
| author = message.author.nick or str(message.author).split('#')[0] | |||||
| content = " ".join(message.content.split(" ")[1:]) | |||||
| msg = bytes(":| {0} {1}\n".format(author, content), "UTF-8") | |||||
| mc.t.write(msg) | |||||
| if message.content.startswith('!:'): | |||||
| author = message.author.nick or str(message.author).split('#')[0] | |||||
| content = message.content[2:] | |||||
| msg = bytes(":| {0} {1}\n".format(author, content), "UTF-8") | |||||
| mc.t.write(msg) | |||||
| if message.content.startswith('!>:'): | |||||
| author = message.author.nick or str(message.author).split('#')[0] | |||||
| content = message.content[3:] | |||||
| msg = bytes(">:| {0} {1}\n".format(author, content), "UTF-8") | |||||
| mc.t.write(msg) | |||||
| if message.content.startswith('!>') and not message.content.startswith('!>:'): | |||||
| author = message.author.nick or str(message.author).split('#')[0] | |||||
| content = message.content[2:] | |||||
| msg = bytes(">:| {0} says, \"{1}\".\n".format(author, content), "UTF-8") | |||||
| mc.t.write(msg) | |||||
| @client.event | |||||
| async def on_ready(): | |||||
| print('Logged in as') | |||||
| print(client.user.name) | |||||
| print(client.user.id) | |||||
| print("--------") | |||||
| def start(self): | |||||
| self.t = tn.Telnet(self.server,self.port) | |||||
| self.t.read_until(b"\"news\"") | |||||
| self.t.write(bytes("connect {0} {1}\n".format(self.username, self.password),"UTF-8")) | |||||
| client.run(self.TOKEN) | |||||
| def listen(self): | |||||
| while True: | |||||
| try: | |||||
| g = b'' | |||||
| g = self.t.read_until(b'\r\n', 1) | |||||
| if g != b'': | |||||
| try: | |||||
| g = g.decode(encoding='iso-8859-1').strip() | |||||
| except UnicodeDecodeError: | |||||
| try: | |||||
| g = g.decode(errors="replace").strip() | |||||
| except: | |||||
| g = g.decode(errors="ignore").strip() | |||||
| client.send_message(message.channel, g) | |||||
| g = b'' | |||||
| except KeyboardInterrupt: | |||||
| break | |||||
| except EOFError: | |||||
| break | |||||
| except: | |||||
| continue | |||||
| if __name__ == "__main__": | |||||
| mc = Mushcord() | |||||
| mc.start() | |||||
| mc.listen() |