mirror of
https://github.com/kaaninchen/Gleiswechsel.git
synced 2026-07-21 19:52:47 +00:00
groundworks
consider this more like a simple proof of concept for myself. I coded this while being tired af and not giving a damn about the code quality. Cleanup is gonna be soon
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
venv/
|
||||||
|
GTFS/
|
||||||
|
config.json
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"token": "",
|
||||||
|
"stations": [ "Flensburg", "Recklinghausen Hbf", "Augsburg Hbf", "Amsterdam Centraal"],
|
||||||
|
"vc": "",
|
||||||
|
"formatting": "🚅┇"
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
import requests
|
||||||
|
import json
|
||||||
|
import random
|
||||||
|
import discord
|
||||||
|
|
||||||
|
with open("config.json", "r") as file:
|
||||||
|
config = json.load(file)
|
||||||
|
|
||||||
|
bot = discord.Bot(intents=discord.Intents.all())
|
||||||
|
|
||||||
|
def random_connection():
|
||||||
|
while True:
|
||||||
|
station = random.choice(config["stations"])
|
||||||
|
url = f"https://dbf.finalrewind.org/{station}.json"
|
||||||
|
|
||||||
|
try:
|
||||||
|
response = requests.get(url)
|
||||||
|
response.raise_for_status()
|
||||||
|
data = response.json()
|
||||||
|
except requests.RequestException:
|
||||||
|
continue
|
||||||
|
|
||||||
|
departures = [
|
||||||
|
d for d in data.get("departures", [])
|
||||||
|
if d.get("scheduledDeparture") and d.get("destination") != station
|
||||||
|
]
|
||||||
|
|
||||||
|
if not departures:
|
||||||
|
continue
|
||||||
|
|
||||||
|
dep = random.choice(departures)
|
||||||
|
return [f"{config["formatting"]}{dep['train']} nach {dep['destination']}", f"von {station}"]
|
||||||
|
|
||||||
|
@bot.slash_command(description="Rename vc")
|
||||||
|
async def rename_vc(ctx):
|
||||||
|
channel = bot.get_channel(int(config["vc"]))
|
||||||
|
if isinstance(channel, discord.VoiceChannel):
|
||||||
|
name, status = random_connection()
|
||||||
|
await channel.edit(name = name)
|
||||||
|
await channel.set_status(status)
|
||||||
|
await ctx.respond("Kanal aktualisiert!")
|
||||||
|
|
||||||
|
try:
|
||||||
|
bot.run(config['token'])
|
||||||
|
except:
|
||||||
|
print("An error occured while parsing the token (check the config!)")
|
||||||
Reference in New Issue
Block a user