1
0
mirror of https://github.com/MrDetonia/Maki.git synced 2024-11-22 20:00:00 -05:00

Track history based on user ID, ignore empty messages, v0.11.2

This commit is contained in:
Zac Herd 2016-04-16 13:40:14 +01:00
parent 2c0ccf4d3f
commit e833078d06

15
bot.py
View File

@ -25,7 +25,7 @@ from secret import email,pwd
name = "Maki" name = "Maki"
# bot version # bot version
version = "v0.11.1" version = "v0.11.2"
# text shown by .help command # text shown by .help command
helptext = """I am a bot written in Python by MrDetonia helptext = """I am a bot written in Python by MrDetonia
@ -232,11 +232,11 @@ def on_message(message):
elif message.content.startswith('.seen '): elif message.content.startswith('.seen '):
# print when user was last seen # print when user was last seen
target = message.content[6:] target = users[message.content[6:]]
if target in history: if target in history:
# user logged, print last message and time # user logged, print last message and time
response = 'user ' + target + ' was last seen saying "' + history[target][0] + '" at ' + strfromdt(dtfromts(history[target][1])) response = 'user ' + message.content[6:] + ' was last seen saying "' + history[target][0] + '" at ' + strfromdt(dtfromts(history[target][1]))
elif target == 'Maki': elif message.content[6:] == 'Maki':
# Maki doesn't need to be .seen # Maki doesn't need to be .seen
response = 'I\'m right here!' response = 'I\'m right here!'
else: else:
@ -296,9 +296,10 @@ def on_message(message):
# Stuff that happens when message is not a bot command: # Stuff that happens when message is not a bot command:
else: else:
# log each message against users # log each message against users
history[message.author.name] = (message.content, time.time()) if message.content != "":
with open('hist.json', 'w') as fp: history[message.author.id] = (message.content, time.time())
json.dump(history, fp) with open('hist.json', 'w') as fp:
json.dump(history, fp)
# log user messages for markov chains, ignoring messages with certain substrings # log user messages for markov chains, ignoring messages with certain substrings
filters = ['```', 'http://', 'https://'] filters = ['```', 'http://', 'https://']