Giter Club home page Giter Club logo

slabbot's Introduction

oh, hi! 👋

My name is Andy! I like code, spreadsheets, and rhythm games. And also too many other things.
Computer Science Student1 @ University of North Carolina at Chapel Hill.

wakatime Public Commits

🌱 Currently learning Rust? Maybe?

🛠️ Currently working on some stuff for an Arcaea community tournaments server2.

Footnotes

  1. it's official! i got into the major!! :D

  2. consider joining i swear we'll host a tournament eventually (https://discord.gg/AWpMV67ud6)

slabbot's People

Contributors

12beesinatrenchcoat avatar dependabot[bot] avatar

Watchers

 avatar

slabbot's Issues

Remove discriminator if #0

Discord changed their whole username system a long time ago, discriminators now show up as "#0". They still show up in slabbot profile, although they probably shouldn't. (Although they should still be shown in case the user still has theirs).

manual/speak.ts is broken, does not build

[{
	"resource": "/Users/ayu/Code/slabbot/src/manual/speak.ts",
	"owner": "typescript",
	"code": "2305",
	"severity": 8,
	"message": "Module '\"process\"' has no exported member 'stdout'.",
	"source": "ts",
	"startLineNumber": 5,
	"startColumn": 25,
	"endLineNumber": 5,
	"endColumn": 31
}]

I'll probably end up getting rid of the thing or rewriting it with the inquirer library (introduced in f4f5b2f), or something
Also probably restructure the project to get rid of the manual folder

handle null values in osu / better error handling

the osu command returns an error when there's a null value (unranked player), stemming from it trying to format the number.

there should also probably be better handling of errors, instead of returning everything as "user not found".

see also: #26, #27

Better setup, move away from Heroku

https://blog.heroku.com/next-chapter

Heroku is removing their free plan, meaning that I probably have to start self-hosting again. Opening this issue to log ideas on how to make setup for self-hosting easier.

To-do list:

  • Package as single binary file
    • Run first-time setup if no .env
    • Add flags
  • Auto-deploy commands on startup

Also kinda depends on #36

Better dice notation for `/roll`

Would be nice to be able to parse something like "2d6 + 1d20", or an advantage/disadvantage thing, or just some more dice stuff.

Discord to make message content Privileged Intents soon™️

Message content will be under a Privileged Intent in the near future, and that forces me to move to slash commands. That being said, Akairo doesn't look to be supporting them anytime soon (and fair enough), which kind of forces my hand to port the bot to something else.

And so... Project Rewrite is a thing now, I guess. New branch, time to... well, do this all over again.

Dag.

server-related `settings`

and also just some changes to the level-up notification. not all people like them...

an outline

alright, so some settings, should be part of "meta" category.
sl settings (also alias "options")

  • per-server prefixes (not that i like it, but it needs to be an option) no longer needs to exist with rewrite
  • settings relating to level up notifications
    • compact/full
    • display messages in channel where message was sent, in another channel, or disable levelup notifs

I'll consider adding other settings in the future.

`sl osu` versus feature

something something the word "versus" or "vs" can be added to compare two osu players or something. sl osu! player1 vs player2 or something.
would be a lot nicer with #30 and #43.

all requests to osu api fail if retrieving a token fails (no internet)

Describe the bug
A bit of an edge case --- normally, to access the osu! api, you need a token, which expires every 24 hours. There is a function in there that fetches a new token every 24 hours to make up for this, but if the internet happens to go out during that time, requesting a new token will fail, and the bot will not retry.

To Reproduce
disable internet when getting a new token lol

Expected behavior
Ideally, when the token expires, it should be set to EXPIRED or something of the sort. If a new request is run, and the token is set to EXPIRED, a new token should be retrieved.
Or if you want to be lazy, a simple "wait, then try again until successful" or something.

Also maybe catch the error.

Additional info
image

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.