Coder Social home page Coder Social logo

andipaetzold / tttt-discord Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 4.0 2.63 MB

Team Time Trial Timer Discord Bot

Home Page: https://andipaetzold.github.io/tttt-discord

License: MIT License

TypeScript 99.93% Smarty 0.07%
bot discord discord-bot timer zwift

tttt-discord's Introduction

Hi there ๐Ÿ‘‹

I am Andi, a software developer from Germany. I mainly work on the web with a huge focus on React, TypeScript, and Firebase.

As my GitHub account contains quite a bit of half-finished projects, I listed my best and most interesting ones below:

NPM Packages ๐Ÿ“š

  • mdb-reader: A JavaScript library to read data from Microsoft Access Database
  • react-firehooks: Collection of React hooks to interact with Google Firebase
  • skycons-ts: Browser library to render animated weather icons in canvas elements

Zwift ๐Ÿšด

Besides coding, I am also passionate about sports. I spend quite a lot of time riding my bike on Zwift and created a few projects to improve my experience during regular rides and races.

  • TTT-Timer Discord Bot: Discord bot support teams during team time trials by giving automated commands
  • TTT-Timer: Web app to support teams during team time trials by giving automated commands
  • ZwiftMap: Interactive map to explore the world of Zwift in your browser
  • ZwiftQuiz: Website to test your knowledge about Zwift routes
  • zwift-data: Collection of data about Zwift which power other Zwift projects

tttt-discord's People

Contributors

andipaetzold avatar dependabot[bot] avatar jakubvojacek avatar renovate-bot avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tttt-discord's Issues

New features ideas

Hello @andipaetzold

I was thinking of possible improvements that myself and my team could use. While I could implement some of them and send a PR, I'd like to discuss them first and maybe find a better approach.

We had problems with people pressing skip button because they were dead and wanted to rest once. But the problem was that they pressed the button when it wasnt their turn so they just skipped the current athlete, not themselves. You can only skip yourself if you wait for your turn and then press skip. But that kind of breaks the rotation as for a short period time, there'd be nobody pulling and the next person would just get cue <Go name> instead of the countdown.

There are multiple ways to tackle this

  • the reaction button will only work for the person pressing it, pressing skip at any time will result in the person who pressed it being skipped one time. Pressing plus will add time for his next pull
  • add DS (perhaps /timer ds ), and for him, the reaction button would work as they work now ?

Or maybe even better add multiple status messages, one per each athlete and each of the status messages would have the reaction button and those would control the given athlete only? It would then work like the web UI https://andipaetzold.github.io/tttt/ where its really easy to toast someone even when its not his turn. Last tuesday I had two riders who wanted to get toasted and since it wasnt their turn, I had to switch from zwift to discord and type /timer toast which isnt very easy when pushing 350 watts :) clicking on icon would have been faster

Screenshot 2023-11-30 at 8 52 20

a quick mockup above - we could even add minus button, make it denser so that more athletes would be visible at one time etc

Voice commands

Hello

first of all, thank you for this great tool, we discovered it last week only but we've already did a test run last night and we plan to use it for Tuesday ZRL.

One thing, that would be very cool - if it could listen to voice commands - if we'd use mentions in /timer athletes, it could know who's talking and when it would hear SKIP, it would skip given athlete without having to press the button.

I dont know if this is something you consider implementing, I myself am not very skilled with typescript but I briefly checked and there are some discord bots that can recognize audio using google services

Once again, thank you for working on this

Use nickname rather than usename if available

It would be great if the bot used the nickname on the server, rather than the username when announcing an @-mentioned rider. That way the rider won't have to globally change their username, visible on all servers they use.

As far as I can tell, this can be done using .displayName on GuildMember, though I don't 100% see how to get there from the client instance - I guess some context to the current Guild is needed. I'm sure you understand better than me.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • chore(deps): lock file maintenance

Pending Status Checks

These updates await pending status checks. To force their creation now, click the checkbox below.

  • chore(deps): update dependency node to v20.16.0

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/checkout v4
  • actions/setup-node v4.0.3
  • actions/checkout v4
  • actions/checkout v4
  • ubuntu 22.04
  • ubuntu 22.04
  • ubuntu 22.04
npm
package.json
  • @discordjs/voice 0.17.0
  • @sentry/node 7.118.0
  • discord-api-types 0.37.93
  • discord.js 14.15.3
  • dotenv 16.4.5
  • ffmpeg-static 5.2.0
  • google-tts-api 2.0.2
  • lodash 4.17.21
  • object-hash 3.0.0
  • redis 4.6.15
  • sodium-native 4.1.1
  • source-map-support 0.5.21
  • @tsconfig/node18 18.2.4
  • @types/lodash 4.17.5
  • @types/node 20.14.6
  • @types/object-hash 3.0.6
  • tsc-watch 6.2.0
  • typescript 5.4.5
  • node 20.15.0
nvm
.nvmrc
  • node 20.15.0

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.