>> В коде ошибок нет,
Серьзно? да там в каждой строчке по ошибке
async def выстрелить(ctx):
random.random() # зачем пусто вызов функции?
if random.random == "0": # зачем вы сравниваете функцию с нулем?
author = ctx.message.author # отступы!!!
await ctx.send('{author.mention} Попал!') # отступы!!!
elif random.random == "1": # зачем вы сравниваете функцию с единицей?
author = ctx.message.author # отступы!!!
await ctx.send('{author.mention} Промазал!') # Ошибок нет, но не работает . _ . # отступы!!!
WTF? что вы с чем сравниваете и зачем вызываете random.random() если результат никуда не сохраняете?