Merge pull request 'dev-prodId' (#2) from dev-prodId into main

Reviewed-on: #2
This commit is contained in:
Taledo 2026-07-31 18:46:30 +00:00
commit bc25ae71b3

View File

@ -3,6 +3,7 @@ from discord import option
from discord.ext import commands, tasks
import aiohttp
import helpers
import traceback
from datetime import datetime
class IdaCogs(commands.Cog):
@ -112,7 +113,9 @@ class IdaCogs(commands.Cog):
else:
await ctx.followup.send(f"Failed to log delivery (HTTP {response}). Please contact the yellow people if that keeps happening")
except Exception as e:
await ctx.followup.send(f"help : Error: {e}")
await ctx.followup.send(f"Something broke. Why do you keep breaking the bot, uh? :(")
channel = self.bot.get_channel(self.debugChannel)
await channel.send(f"{author} generated the following exception : {traceback.format_exc()}")
@ -156,6 +159,7 @@ class IdaCogs(commands.Cog):
@discord.slash_command(
name="last",
# guild_ids=[401372086746087425],
@ -286,115 +290,121 @@ class IdaCogs(commands.Cog):
#writes to the whats left to haul channel ever 60 seconds about.. the stuff left to haul.
#also updates the current commodity List
@tasks.loop(seconds=60)
@tasks.loop(seconds=120)
async def writeToWhatsLeftToHaul(self):
try:
response = await helpers.getFromSheet(self.session, self.gsheetToken, "commodity")
response = await helpers.getFromSheet(self.session, self.gsheetToken, "commodity")
print(response)
commodity, values, initial = response.split("|")
print(response)
commodity, values, initial = response.split("|")
commodity = commodity.split(",")
values = values.split(",")
initial = initial.split(",")
commodity = commodity.split(",")
values = values.split(",")
initial = initial.split(",")
values = [int(i) for i in values]
initial = [int (i) for i in initial]
values = [int(i) for i in values]
initial = [int (i) for i in initial]
finalDict = {}
progressDict = {}
neededCommodity = []
finalDict = {}
progressDict = {}
neededCommodity = []
for i in range(len(commodity)):
finalDict[commodity[i]] = values[i]
for i in range(len(commodity)):
finalDict[commodity[i]] = values[i]
if initial[i] > 0:
progressDict[commodity[i]] = await helpers.createProgressBar(values[i],initial[i])
else:
progressDict[commodity[i]] = await helpers.createProgressBar(1,1)
if initial[i] > 0:
progressDict[commodity[i]] = await helpers.createProgressBar(values[i],initial[i])
else:
progressDict[commodity[i]] = await helpers.createProgressBar(1,1)
if values[i] > 0:
neededCommodity.append(commodity[i])
if values[i] > 0:
neededCommodity.append(commodity[i])
#finalDict = dict(sorted(finalDict.items(), key=lambda item: item[1], reverse=True))
#finalDict = dict(sorted(finalDict.items(), key=lambda item: item[1], reverse=True))
self.commodities = neededCommodity
self.commodities = neededCommodity
embed = discord.Embed(title="Estimated remaining amounts",
colour=discord.Colour(0xffdd55),
timestamp=datetime.now())
embed.set_thumbnail(url="https://cdn.discordapp.com/emojis/536647643367997492.png")
embed = discord.Embed(title="Estimated remaining amounts",
colour=discord.Colour(0xffdd55),
timestamp=datetime.now())
embed.set_thumbnail(url="https://cdn.discordapp.com/emojis/536647643367997492.png")
embed2 = discord.Embed(title="Current progress",
colour=discord.Colour(0x002f80),
timestamp=datetime.now())
embed2.set_thumbnail(url="https://cdn.discordapp.com/emojis/536647643367997492.png")
embed2 = discord.Embed(title="Current progress",
colour=discord.Colour(0x002f80),
timestamp=datetime.now())
embed2.set_thumbnail(url="https://cdn.discordapp.com/emojis/536647643367997492.png")
for key in finalDict:
if finalDict[key] > 0:
embed.add_field(name=key, value=finalDict[key], inline=True)
embed2.add_field(name=key, value=str(progressDict[key]), inline=True)
for key in finalDict:
if finalDict[key] > 0:
embed.add_field(name=key, value=finalDict[key], inline=True)
embed2.add_field(name=key, value=str(progressDict[key]), inline=True)
embed2.set_footer(text="This message updates every 60 seconds(ish). Last updated")
embed.set_author(name=u'\U0001F517 ' + self.stationName + u' \U0001F517',
url=self.stationUrl)
embed2.set_author(name=u'\U0001F517 ' + self.stationName + u' \U0001F517',
url=self.stationUrl)
embed2.set_footer(text="This message updates every 120 seconds(ish). Last updated")
embed.set_author(name=u'\U0001F517 ' + self.stationName + u' \U0001F517',
url=self.stationUrl)
embed2.set_author(name=u'\U0001F517 ' + self.stationName + u' \U0001F517',
url=self.stationUrl)
channel = self.bot.get_channel(self.whatsLeftToHaulChannelId)
channel = self.bot.get_channel(self.whatsLeftToHaulChannelId)
found = False
async for oldmsg in channel.history(limit=2):
if oldmsg.author == self.bot.user:
found = True
await oldmsg.edit(embeds=[embed, embed2])
break
if not found:
await channel.send(embeds=[embed, embed2])
found = False
async for oldmsg in channel.history(limit=2):
if oldmsg.author == self.bot.user:
found = True
await oldmsg.edit(embeds=[embed, embed2])
break
if not found:
await channel.send(embeds=[embed, embed2])
except Exception as e:
print("Something bad happened in the whatlefttohaul function :(")
#writes the carriers state to... the carrier state channel. Seriously, who is writing this?
@tasks.loop(seconds=60)
@tasks.loop(seconds=120)
async def writeTocarrierState(self):
response = await helpers.getInternalCarrierState(self.session, self.gsheetToken)
carrierState = await helpers.parseCarrierState(response)
try:
response = await helpers.getInternalCarrierState(self.session, self.gsheetToken)
carrierState = await helpers.parseCarrierState(response)
channel = self.bot.get_channel(self.carrierStatsChannel)
channel = self.bot.get_channel(self.carrierStatsChannel)
embed = discord.Embed(title="Carriers State",
colour=discord.Colour(0x29ac08),
timestamp=datetime.now())
embed.set_thumbnail(url="https://cdn.discordapp.com/emojis/536647643367997492.png")
embed.set_author(name=u'\U0001F517 ' + self.stationName + u' \U0001F517',
url=self.stationUrl)
embed = discord.Embed(title="Carriers State",
colour=discord.Colour(0x29ac08),
timestamp=datetime.now())
embed.set_thumbnail(url="https://cdn.discordapp.com/emojis/536647643367997492.png")
embed.set_author(name=u'\U0001F517 ' + self.stationName + u' \U0001F517',
url=self.stationUrl)
embed.set_footer(text="This message updates every 60 seconds(ish). Last updated")
embed.set_footer(text="This message updates every 120 seconds(ish). Last updated")
for carrier, state in carrierState.items():
embed.add_field(name=carrier, value=state, inline=True)
for carrier, state in carrierState.items():
embed.add_field(name=carrier, value=state, inline=True)
found = False
async for oldmsg in channel.history(limit=2):
if oldmsg.author == self.bot.user:
found = True
await oldmsg.edit(embed=embed)
break
if not found:
await channel.send(embed=embed)
found = False
async for oldmsg in channel.history(limit=2):
if oldmsg.author == self.bot.user:
found = True
await oldmsg.edit(embed=embed)
break
if not found:
await channel.send(embed=embed)
except Exception as e:
print("Something bad happened in the carrierState function :(")
def setup(bot): # this is called by Pycord to setup the cog
bot.add_cog(IdaCogs(bot)) # add the cog to the bot