Skip to content

Instantly share code, notes, and snippets.

@aveao
Created July 12, 2017 22:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aveao/7db824e17cc099afad40f0935d4fd68c to your computer and use it in GitHub Desktop.
Save aveao/7db824e17cc099afad40f0935d4fd68c to your computer and use it in GitHub Desktop.
SELogger
#!/usr/bin/env python
import os
import sys
import datetime
import chatexchange.client
import chatexchange.events
def main(args):
host_id = 'stackexchange.com'
room_id = args
email = 'this_is_insecure@but.who.cares.example'
password = 'OwO'
client = chatexchange.client.Client(host_id)
client.login(email, password)
room = client.get_room(room_id)
room.join()
room.watch(on_message)
print("(You are now in room #%s on %s.)" % (room_id, host_id))
#client.logout()
while True:
continue
def on_message(message, client):
if isinstance(message, chatexchange.events.MessagePosted):
print("MessageSent: [{}] <{}-{}> ({}) {}".format(str(datetime.datetime.now()), message.user.id, message.user.name, str(message._message_id), message.content))
elif isinstance(message, chatexchange.events.MessageEdited):
print("Edit: [{}] <{}-{}> ({}) {}".format(str(datetime.datetime.now()), message.user.id, message.user.name, str(message._message_id), message.content))
elif isinstance(message, chatexchange.events.UserEntered):
print("Enter: [{}] <{}-{}>".format(str(datetime.datetime.now()), message.user.id, message.user.name))
elif isinstance(message, chatexchange.events.UserLeft):
print("Leave: [{}] <{}-{}>".format(str(datetime.datetime.now()), message.user.id, message.user.name))
elif isinstance(message, chatexchange.events.MessageStarred):
print("Starred: [{}] <{}-{}> ({}) P:{} S:{}".format(str(datetime.datetime.now()), message.user.id, message.user.name, str(message._message_id), str(message.message.pinned), str(message.message.stars)))
elif isinstance(message, chatexchange.events.MessageDeleted):
print("Deleted: [{}] <{}-{}> ({})".format(str(datetime.datetime.now()), message.user.id, message.user.name, str(message._message_id)))
elif isinstance(message, chatexchange.events.MessageFlagged):
print("Flagged: [{}] <{}-{}> ({}) {}".format(str(datetime.datetime.now()), message.user.id, message.user.name, str(message._message_id), message.content))
if __name__ == '__main__':
main(*sys.argv[1:])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment