mirror of
https://github.com/MrDetonia/Maki.git
synced 2024-11-22 11:54:16 -05:00
Added KeyError handling when not enough text available, v0.10.1
This commit is contained in:
parent
360705a04c
commit
0ede83abff
15
bot.py
15
bot.py
@ -24,7 +24,7 @@ from secret import email,pwd
|
|||||||
name = "Maki"
|
name = "Maki"
|
||||||
|
|
||||||
# bot version
|
# bot version
|
||||||
version = "v0.10.0"
|
version = "v0.10.1"
|
||||||
|
|
||||||
# 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
|
||||||
@ -147,8 +147,6 @@ def on_message(message):
|
|||||||
# print messages to terminal for info
|
# print messages to terminal for info
|
||||||
print(message.author.name + ': ' + message.content)
|
print(message.author.name + ': ' + message.content)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ensure we store this user's ID
|
# ensure we store this user's ID
|
||||||
if message.author.name not in users:
|
if message.author.name not in users:
|
||||||
users[message.author.name] = message.author.id
|
users[message.author.name] = message.author.id
|
||||||
@ -258,10 +256,13 @@ def on_message(message):
|
|||||||
|
|
||||||
elif message.content.startswith('.markov'):
|
elif message.content.startswith('.markov'):
|
||||||
# generate a markov chain sentence based on the user's chat history
|
# generate a markov chain sentence based on the user's chat history
|
||||||
tmp = message.content[8:].split(' ',1)
|
tmp = message.content[8:]
|
||||||
if os.path.isfile('./markovs/' + users[tmp[0]]):
|
if os.path.isfile('./markovs/' + users[tmp]):
|
||||||
mc = markov.Markov(open('./markovs/' + users[tmp[0]]))
|
mc = markov.Markov(open('./markovs/' + users[tmp]))
|
||||||
yield from client.send_message(message.channel, mc.generate_text())
|
try:
|
||||||
|
yield from client.send_message(message.channel, mc.generate_text())
|
||||||
|
except KeyError:
|
||||||
|
yield from client.send_message(message.channel, 'Something went wrong :( Maybe you haven\'t spoken enough yet?')
|
||||||
else:
|
else:
|
||||||
yield from client.send_message(message.channel, 'I haven\'t seen that user speak yet!')
|
yield from client.send_message(message.channel, 'I haven\'t seen that user speak yet!')
|
||||||
|
|
||||||
|
@ -37,6 +37,9 @@ class Markov(object):
|
|||||||
gen_words = []
|
gen_words = []
|
||||||
for i in range(size):
|
for i in range(size):
|
||||||
gen_words.append(w1)
|
gen_words.append(w1)
|
||||||
w1, w2 = w2, random.choice(self.cache[(w1, w2)])
|
try:
|
||||||
|
w1, w2 = w2, random.choice(self.cache[(w1, w2)])
|
||||||
|
except KeyError:
|
||||||
|
break
|
||||||
gen_words.append(w2)
|
gen_words.append(w2)
|
||||||
return ' '.join(gen_words)
|
return ' '.join(gen_words)
|
||||||
|
Loading…
Reference in New Issue
Block a user