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.
122 lines
4.1 KiB
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)
|
|
# )
|
|
# )
|