Created
May 12, 2017 09:48
-
-
Save Kakkoiikun/1c2dfb9ea373b04f6431e7795f91f704 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ch | |
import time | |
import sys | |
import urllib | |
if sys.version_info[0] > 2: | |
import urllib.request as urlreq | |
else: | |
import urllib2 as urlreq | |
class bot(ch.RoomManager): | |
def onInit(self): | |
self.setNameColor("000000") | |
self.setFontColor("000000") | |
self.setFontFace("Consolas") | |
self.setFontSize(12) | |
def onConnect(self, room): | |
print("[INFO]Connected to "+room.name) | |
def onReconnect(self, room): | |
print("[INFO]Reconnected to "+room.name) | |
def onDisconnect(self, room): | |
print("[INFO]Disconnected to "+room.name) | |
def onMessage(self, room, user, message): | |
print("[%s] %s: %s" % (room.name, user.name, message.body)) | |
if self.user == user: return | |
msgd = message.body.split(" ", 1) | |
if len(msgd) > 1: | |
cmd, args = msgd[0], msgd[1] | |
else: | |
cmd, args = msgd[0], "" | |
cmd = cmd.lower() | |
if len(cmd) > 0: | |
if cmd[0] == "!": ##prefix | |
used_prefix = True | |
cmd = cmd[1:] | |
else: | |
used_prefix = False | |
else: | |
return | |
if used_prefix and cmd == "say": | |
if args: | |
room.message(args) | |
else: | |
room.message("Nothing to say") | |
elif used_prefix and cmd == "anc" or used_prefix and cmd == "announce": | |
if args: | |
if user.name == "yourusernamehere": ##lowercase of your username | |
for _room in self.rooms: | |
_room.message(user.name.title()+": "+message.body) | |
else: | |
room.message("You do not have permission to use this command.") | |
else: | |
room.message("Nothing to announce") | |
elif used_prefix and cmd == "eval": | |
if user.name == "yourusernamehere": ##lowercase of your username | |
if args: | |
room.message(str(eval(args))) | |
else: | |
room.message("Nothing to evaluate") | |
else: | |
room.message("You do not have permission to evaluate @"+user.name.title()) | |
elif used_prefix and cmd == "mini": | |
if args: | |
try: | |
args=args.lower() | |
stuff=str(urlreq.urlopen("http://"+args+".chatango.com").read().decode("utf-8")) | |
crap,mini=stuff.split("<span class=\"profile_text\"><!-- google_ad_section_start -->",1) | |
mini,crap=mini.split("<!-- google_ad_section_end --></span>",1) | |
mini=mini.replace("<img","<!") | |
room.message(mini, True) | |
except: | |
room.message("No data received") | |
else: | |
room.message("Invalid") | |
elif used_prefix and cmd == "end": | |
if user.name == "yourusernamehere": ##lowercase of your username | |
time.sleep(1) | |
self.stop() | |
else: | |
room.message("You can't end my life") ##lol | |
elif used_prefix and cmd == "reconnect": | |
room.reconnect() | |
room.message("I have reconnected as you have wished") | |
elif used_prefix and cmd == "join": | |
if args: | |
name = args.lower() | |
self.joinRoom(name) | |
room.message("I have joined "+name) | |
else: | |
room.message("Invalid") | |
elif used_prefix and cmd == "leave": | |
if user.name == "yourusernamehere": ##lowercase of your username | |
if args: | |
name = args.lower() | |
self.leaveRoom(name) | |
room.message("I have left "+name) | |
else: | |
room.message("Invalid") | |
else: | |
room.message("No Permission") | |
elif used_prefix and cmd == "usercount": | |
room.message("I can see "+str(room.usercount)+" people here :)") | |
elif used_prefix and cmd == "pm": | |
name, message = args.split(" ", 1) | |
name = name.lower() | |
self.pm.message(ch.User(name), "Message from "+user.name.title()+": "+args) | |
room.message("Done!") | |
elif used_prefix and cmd == "cmds": | |
room.message("My commands: !say, !anc (owner), !eval (owner), !mini, !end (owner), !reconnect, !join, !leave (owner), !usercount, !pm") | |
rooms = ["exampleroom1", "exampleroom2"] | |
if __name__ == "__main__": | |
bot.easy_start(rooms, "BotUsername", "BotPassword") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@iPSWeb Can you give me further explanation on what you want to do? It is possible to display messages from a file, but I don't understand what you mean by "by timer". I'll help you once I understand what you meant.