From e415c2278471f4c69e2af0917de7e071650aa6bc Mon Sep 17 00:00:00 2001 From: rootcoma Date: Tue, 19 Nov 2013 15:53:04 -0800 Subject: [PATCH] More entropy, less characters --- plugin.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/plugin.py b/plugin.py index 540ca08..f6f1777 100644 --- a/plugin.py +++ b/plugin.py @@ -154,7 +154,7 @@ class TriviaTime(callbacks.Plugin): pingMsg = pingMsg[:-1] pingMsg = pingMsg.split('*', 1) if len(pingMsg) == 2: - pingTime = time.time()-float(pingMsg[0]) + pingTime = time.time()-float(pingMsg[0])-1300000000 channelHash = pingMsg[1] channel = '' for name in irc.state.channels: @@ -175,7 +175,16 @@ class TriviaTime(callbacks.Plugin): def shortHash(self, text): hashText = hashlib.sha1(text).hexdigest() - return hashText[:8] + hashText = self.numToBase94(int(hashText, 16), 8) + return hashText + + def numToBase94(self, n, maxChars): + chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHUJKLMNOPQRSTUVWXYZ~!@#$%^&()_+=-`[]{}\\/|?,.><:;\'" ' + L = [] + for i in range(maxChars): + L.append(chars[n % len(chars)]) + n = int(n / len(chars)) + return ''.join(L) def acceptedit(self, irc, msg, arg, user, channel, num): """[] @@ -374,7 +383,7 @@ class TriviaTime(callbacks.Plugin): channel = msg.args[0] channelHash = self.shortHash(channel) username = msg.nick - irc.sendMsg(ircmsgs.privmsg(username, '\x01PING %s*%s\x01' % (time.time(), channelHash))) + irc.sendMsg(ircmsgs.privmsg(username, '\x01PING %0.2f*%s\x01' % (time.time()-1300000000, channelHash))) ping = wrap(ping) def me(self, irc, msg, arg):