mirror of
https://github.com/kaaninchen/Gleiswechsel.git
synced 2026-07-21 19:52:47 +00:00
/Umstieg cooldown hinzugefügt
Discord hat diesen nervigen cooldown von 2 mal channel umbennen innerhalb von 10min. In dem cooldown hier ist es 1 mal pro 10 minuten, zur Sicherheit...
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import discord
|
import discord
|
||||||
import random
|
import random
|
||||||
from discord.ext import tasks
|
import time
|
||||||
|
from discord.ext import tasks, commands
|
||||||
from config import config
|
from config import config
|
||||||
from src.handlers import rename_vc
|
from src.handlers import rename_vc
|
||||||
from src.commands import setup_commands
|
from src.commands import setup_commands
|
||||||
@@ -10,7 +11,7 @@ from src.data.status import discord_status
|
|||||||
bot = discord.Bot(intents=discord.Intents.all())
|
bot = discord.Bot(intents=discord.Intents.all())
|
||||||
setup_commands(bot)
|
setup_commands(bot)
|
||||||
|
|
||||||
@tasks.loop(minutes=1)
|
@tasks.loop(minutes=5)
|
||||||
async def change_status():
|
async def change_status():
|
||||||
status = random.choice(discord_status)
|
status = random.choice(discord_status)
|
||||||
await bot.change_presence(activity=discord.Game(name=status))
|
await bot.change_presence(activity=discord.Game(name=status))
|
||||||
@@ -24,7 +25,11 @@ async def on_ready():
|
|||||||
|
|
||||||
@bot.event
|
@bot.event
|
||||||
async def on_application_command_error(ctx, error):
|
async def on_application_command_error(ctx, error):
|
||||||
embed = build_error_embed(f"Ein Fehler ist aufgetreten: {error}")
|
if isinstance(error, commands.CommandOnCooldown):
|
||||||
|
retry_timestamp = int(time.time() + error.retry_after)
|
||||||
|
embed = build_error_embed(f"Dein Umstieg ist erst <t:{retry_timestamp}:R> da! (Discord Cooldown)")
|
||||||
|
else:
|
||||||
|
embed = build_error_embed(f"Ein Fehler ist aufgetreten: {error}")
|
||||||
await ctx.respond(embed=embed)
|
await ctx.respond(embed=embed)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
import discord
|
import discord
|
||||||
|
from discord.ext import commands
|
||||||
from src.handlers import rename_vc
|
from src.handlers import rename_vc
|
||||||
from src.embeds import build_info_embed, build_error_embed
|
from src.embeds import build_info_embed, build_error_embed
|
||||||
|
|
||||||
def setup_commands(bot: discord.Bot):
|
def setup_commands(bot: discord.Bot):
|
||||||
@bot.slash_command(description="Steige in den nächsten Zug! Beachte das Discord Spam limit (2x in 10min)")
|
@bot.slash_command(description="Steige in den nächsten Zug! Beachte das Discord Spam limit (2x in 10min)")
|
||||||
|
@commands.cooldown(1, 600, commands.BucketType.guild)
|
||||||
async def umstieg(ctx):
|
async def umstieg(ctx):
|
||||||
success = await rename_vc(bot)
|
success = await rename_vc(bot)
|
||||||
if not success:
|
if not success:
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ def build_info_embed() -> discord.Embed | None:
|
|||||||
"Daten großzügig bereitgestellt von dbf.finalrewind.org"
|
"Daten großzügig bereitgestellt von dbf.finalrewind.org"
|
||||||
)
|
)
|
||||||
embed.set_footer(text=footer_text, icon_url="https://dbf.finalrewind.org/static/icons/icon-96x96.png")
|
embed.set_footer(text=footer_text, icon_url="https://dbf.finalrewind.org/static/icons/icon-96x96.png")
|
||||||
|
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
def build_error_embed(errormsg) -> discord.Embed:
|
def build_error_embed(errormsg) -> discord.Embed:
|
||||||
|
|||||||
+7
-1
@@ -1,4 +1,5 @@
|
|||||||
import discord
|
import discord
|
||||||
|
import time
|
||||||
from config import config
|
from config import config
|
||||||
from src.utils import random_connection
|
from src.utils import random_connection
|
||||||
|
|
||||||
@@ -25,6 +26,11 @@ async def rename_vc(bot: discord.Bot) -> bool:
|
|||||||
train = current['train'].split()[1]
|
train = current['train'].split()[1]
|
||||||
train_name = f"{train} nach {current['destination']}"
|
train_name = f"{train} nach {current['destination']}"
|
||||||
|
|
||||||
print(f"Umstieg: {train_name} von {current['station']} \nüber: {current['via']}")
|
print("-----------------------------------------")
|
||||||
|
current_time = time.strftime('%X')
|
||||||
|
print(f"{current_time}: Umstieg: {train_name} (Typ {train_type}) von {current['station']}")
|
||||||
|
print(f"{current_time}: Wenn hier keine Nachricht mehr kommt bin ich im Cooldown")
|
||||||
await channel.edit(name=f"{config['formatting']}{train_name}",)
|
await channel.edit(name=f"{config['formatting']}{train_name}",)
|
||||||
|
print(f"{current_time}: Name geändert!")
|
||||||
|
print("-----------------------------------------")
|
||||||
return True
|
return True
|
||||||
Reference in New Issue
Block a user