absolute-destiny/absolute-destiny.py

50 lines
1.2 KiB
Python

import discord
import random
import sys
client = discord.Client()
def succ(n):
if n <= 6:
return 'Miss :fire:'
elif 7 <= n and n <= 9:
return 'Partial success :person_shrugging:'
else:
return 'Total success :tada:'
def roll(mod):
values = []
for i in range(2):
values.append(random.randint(1,6))
values.append(mod)
result = sum(values)
message = '{}'.format(values[0])
for value in values[1:]:
message += '{:+}'.format(value)
message += ' = **{}**\n**{}**'.format(result, succ(result))
return message
@client.event
async def on_ready():
print('logged in as {0.user}'.format(client), file=sys.stderr)
await client.change_presence(activity=discord.Game('!n for 2d6+n'))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!'):
try:
mod=int(message.content.split()[0][1:])
except ValueError:
print('error parsing message {0}'.format(message.content), file=sys.stderr)
return
await message.channel.send(roll(mod))
with open('token') as f:
token = f.read().strip()
client.run(token)