Skip to content

Instantly share code, notes, and snippets.

@Kakkoiikun
Created May 12, 2017 09:48
Show Gist options
  • Save Kakkoiikun/1c2dfb9ea373b04f6431e7795f91f704 to your computer and use it in GitHub Desktop.
Save Kakkoiikun/1c2dfb9ea373b04f6431e7795f91f704 to your computer and use it in GitHub Desktop.
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")
Copy link

ghost commented Apr 18, 2019

How to display messages from a file in chat by timer?

@Kakkoiikun
Copy link
Author

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment