You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Fox-V3/recyclingplant/recyclingplant.py

122 lines
4.1 KiB

import asyncio
import json
import random
from typing import Any
from redbot.core import bank, commands
from redbot.core.data_manager import bundled_data_path
Cog: Any = getattr(commands, "Cog", object)
class RecyclingPlant(Cog):
"""
Says a random line from Skyrim.
"""
@commands.command()
async def guard(self, ctx):
"""
Says a random guard line from Skyrim.
"""
filepath = bundled_data_path(self) / "lines.txt"
with filepath.open() as file:
line = next(file)
for num, readline in enumerate(file):
if random.randrange(num + 2):
continue
line = readline
await ctx.maybe_send_embed(line)
@commands.command()
async def nazeem(self, ctx):
"""
Do you get to the Cloud District very often?
Oh, what am I saying, of course you don't.
"""
await ctx.maybe_send_embed(
"Do you get to the Cloud District very often? Oh, what am I saying, of course you don't."
)
# """Apply for a job at the recycling plant!"""
#
# def __init__(self, bot):
# self.bot = bot
# self.junk = None
#
# def load_junk(self):
# junk_path = bundled_data_path(self) / "junk.json"
# with junk_path.open() as json_data:
# self.junk = json.load(json_data)
#
# @commands.command(aliases=["recycle"])
# async def recyclingplant(self, ctx: commands.Context):
# """Apply for a job at the recycling plant!"""
# if self.junk is None:
# self.load_junk()
#
# x = 0
# reward = 0
# await ctx.send(
# "{0} has signed up for a shift at the Recycling Plant! Type ``exit`` to terminate it early.".format(
# ctx.author.display_name
# )
# )
# while x in range(0, 10):
# used = random.choice(self.junk["can"])
# if used["action"] == "trash":
# opp = "recycle"
# else:
# opp = "trash"
# await ctx.send(
# "``{}``! Will {} ``trash`` it or ``recycle`` it?".format(
# used["object"], ctx.author.display_name
# )
# )
#
# def check(m):
# return m.author == ctx.author and m.channel == ctx.channel
#
# try:
# answer = await self.bot.wait_for("message", timeout=120, check=check)
# except asyncio.TimeoutError:
# answer = None
#
# if answer is None:
# await ctx.send(
# "``{}`` fell down the conveyor belt to be sorted again!".format(used["object"])
# )
# elif answer.content.lower().strip() == used["action"]:
# await ctx.send(
# "Congratulations! You put ``{}`` down the correct chute! (**+50**)".format(
# used["object"]
# )
# )
# reward = reward + 50
# x += 1
# elif answer.content.lower().strip() == opp:
# await ctx.send(
# "{}, you little brute, you put it down the wrong chute! (**-50**)".format(
# ctx.author.display_name
# )
# )
# reward = reward - 50
# elif answer.content.lower().strip() == "exit":
# await ctx.send(
# "{} has been relived of their duty.".format(ctx.author.display_name)
# )
# break
# else:
# await ctx.send(
# "``{}`` fell down the conveyor belt to be sorted again!".format(used["object"])
# )
# else:
# if reward > 0:
# await bank.deposit_credits(ctx.author, reward)
# await ctx.send(
# "{} been given **{} {}s** for your services.".format(
# ctx.author.display_name, reward, bank.get_currency_name(ctx.guild)
# )
# )