comrade-bot/bot.py

74 lines
2.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import discord
from discord.ext import commands
from time import sleep
bot = commands.Bot(command_prefix='>>')
@bot.event
async def on_ready():
print("Bot started.")
print("--------------------------")
@bot.command()
async def ping(ctx):
""" command: ping
Use with caution, you might stir up a revolution.
"""
await ctx.send("What do you think I am, some sort of toy? I refuse to bend to the will of the bourgeoisie!")
@bot.command()
async def anthem(ctx):
"""
command: anthem
some people just need a reference, ya know?
"""
await ctx.send(
"Soyuz nyerushimyiy ryespublik svobodnyikh\n"
"Splotila navyeki Vyelikaya Rus.\n"
"Da zdravstvuyet sozdannyiy volyey narodov\n"
"Yedinyiy, moguchiy Sovyetskiy Soyuz!\n"
)
@bot.command()
async def mute(ctx, target_user:str):
"""
command: soft_mute
The actual good stuff.
If someone's spamming or being annoying, just mute 'em. Requires 3 votes by default.
"""
votey_message = await ctx.send(
"=== NEW MUTE VOTE ===\n"
"Mute {}?".format(str(target_user)))
await votey_message.add_reaction('')
await votey_message.add_reaction('')
sleep(10)
finished_votey = await votey_message.channel.fetch_message(votey_message.id)
print(finished_votey.reactions)
all_in_favor = 0
not_in_favor = 0
for reaction in finished_votey.reactions:
if str(reaction.emoji) == '':
all_in_favor += reaction.count-1
elif str(reaction.emoji) == '':
not_in_favor += reaction.count-1
else:
pass
await ctx.send(
"**=== VOTE RESULTS ===**\n"
"✅ - {0}\n"
"❌ - {1}\n".format(all_in_favor, not_in_favor))
if all_in_favor > 2 and all_in_favor - not_in_favor > 0:
await ctx.send("{} **has** been muted.".format(target_user))
else:
await ctx.send("{} **has not** been muted.".format(target_user))
print("all in favor: {}".format(all_in_favor))
bot.run(open("token.txt").read().strip())