GithubHelp home page GithubHelp logo

ishwi / chuu Goto Github PK

View Code? Open in Web Editor NEW
172.0 9.0 22.0 40.13 MB

Last.fm bot for discord

License: MIT License

Java 99.75% PLpgSQL 0.03% Dockerfile 0.07% Shell 0.15%
discord discord-bot discord-server mariadb musicbrainz last-fm jda-discord-bot lastfm-api lastfm stats

chuu's People

Contributors

cyberflamego avatar ishwi avatar lucam03 avatar rexogamer avatar v3ntus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chuu's Issues

AOTY command being kind of inaccurate?

Hi!
Sorry to write an issue about something that isn't really a bug, but with friends we thought that the command !aoty was kind of innaccurate because it will favor long albums over smaller ones. I thought maybe instead of the play count, you could make these charts with play_count / album_number_of_tracks ?
I honestly don't know if it's a good idea but it seems more accurate to me.

Run-D.M.C. not being read

Today we tried to use !wk RunDMC it would always return No one knows Run-D.M.C.
But when playing a Rundmc song in spotify and using !wk it would return the expected results.

Server artists by country

This is a feature request to add a command that would list the artists from a specific country most played by server members based on a parameter denoting the country.

Stuck on 1 song

For the last 12+ HOURS on ALL servers and ONLY FOR ME, chuu has been stuck/frozen on only one song even though I have not listen to that song. the wkt command only shows that one song and the favs command only shows that song's artist. I've tried disconnecting and reconnecting with last.fm and spotify , turning my phone off and on , logging out and back in , waiting to see if it would "fix itself". Nothing has worked. Is there a fix?! Please help.

Prefix change doesn't work

when we change the prefix the bot said it was successfully chanegd (we tried $) but it was still only responding to ! commands

!wk not working

So when I do !wk on my server it shows how many listens it has but whenever I do it on another server I dont show up on the list but it is fine for everyone else that does it. All other commands work and show my stats other then this one

Bot no longer registering valid users

As of earlier today, the bot has stopped registering new (valid) users with their last fm, throwing the error message and instructing them to try using the update command instead. Existing users changing usernames was not affected, but I have several users who are completely new to the bot who are not able to set their last fm account. I suspect it’s a database issue, but I’m not sure.

`--aside` is not working correctly again

Hi. After you fixed the aside bug last time, it started working correctly, but i've noticed since about 45h ago that the --aside option now just generates a chart with no text and no aside part (e.g. !top --aside behaves the same as !top --noplays --notitles).

One of the commits after 15070de must have broke it because it was working correctly for a bit.

Docker Not Working.

When I run docker-compose build I get this error I am on Ubuntu 20.04 LTS and Docker Compose 2.2.3

        * Status: When using COPY with more than one source file, the destination must be a directory and end with a /, Code: 1
        

Album Art Not Displaying when using !a

When using the !a command for the artist "The Lurking Corpses" 2 albums are not displaying their art while it's uploaded. I would consider this to be because the art is recently upload, but one of them has been uploaded for around a year.

cat

Possible race condition with !wk update before generating chart

Not a huge issue and correct ne if I'm wrong, but from my understanding the !wk and similar commands run an !update silently before generating the image. I ran into a situation today (shown in the screenshot) where the update is successful but the image doesnt reflect the update. then a subsequent !update shows no or one new scrobble but the image reflects what the actual case is.
image

Exlpr.fm support

Is there any way you could implement some explr.fm integration?
e.g. Have the bot send an image of you explr.fm map.

docker image

Would it be possible for you to make a docker file/image for this bot. For fast deployment?

Track command does not have correct stats

Whenever I do the tracks command on certain albums that I know I have a lot of scrobbles on (300+) the chart says I only have around 5 or 6. It may only be counting plays for this year?

bug

so currently this has been happening to many people including myself. whenever, people do !wk or !wkt they appear on the board when they do it but when someone else does it they don’t appear or I don’t. last.fm account was set and sometimes when I go and use a command it’s not set?

Error with _Artist command

Hello, When me or one of my server members do the _Artist command we either do not get any images of albums with scrobbles or we get 1album with its scrobbles. Im not sure if this is a issue to do with Last.fm or the bot. I have attached a image of the error.
Thanks
liluziartist2

Respondes late / wrong artist

After a command is given to the bot it has a strang delay of like 10 seconds and then it respondes but this delay it comes random.
Another problem is that the bot tells me that i am listeming to a diffrtent then the one i am actually listening to.

Milestone by artist

It would be cool to know your nth scrobble by a particular artist, similar to how the !milestone command works.

Maybe it could be a new command called !artistmilestone?

ISSUE REGARDING ONGOING DISCORD HACK

Hi all, IAmTheBlackMetal here, I am a Chuu bot mod on discord.
I figure Ish may post something here when he has a chance but until that point I would recommend removing the official Chuu bot (local instances should be fine) from your discord and warning your users about an ongoing hack that has destroyed the Chuu server.

Details:
https://twitter.com/PhleBuster/status/1439285455267188741

I wish I had a better method for getting this info out but the server was destroyed before any of us could figure out what was going on.

.from sometimes does not accept user names or time periods

Documentation for .from:

Name: Artist from a country
Description: Your top artist that are from a specific country
Aliases: .from
Usage: .from country [d,w,m,q,s,y,a] username**
If username its not specified it defaults to you
If timeframe its not specified it defaults to All-Time
Country must come in the full name format or in the ISO 3166-1 alpha-2/alpha-3 format

I tried using .from japan a [username], .from japan [username], .from GB a [username], and .from GB [username] and the queries didn't work, I think it tried to interpret the whole line as the country name in each case. .from JA a doesn't work but .from japan a does. This seems to be a combination of two issues:

  • ISO names are treated differently to English names
  • Usernames are not interpreted correctly unless they're Discord @mentions

(the documentation also has some errors; it should say "your top artists", it uses "its" instead of "is", and there are two extra asterisks)

!favs !aff !playing commands not working

Hi, whenever I or someone else puts in these commands (and a handful others) in a server, all I get is Chuu responding with an arrow emoji that turns into two arrows upon clicking, or sometimes nothing at all. I can never see the actual contents, is there a way of fixing this?

!wkt manual param with --noredirect on song with ' in the title bugged

I found that when !wkt-ing a song has some characters (in my case its a ' character) plus a --noredirect param, it triggers error number 7, which is You need to add the escape character "" in the "-" that appear on the album or song.
While a normal character, or some characters but without --noredirect param works perfectly.

I think its something to do with ishwi/chuu/src/main/java/core/parsers/ArtistAlbumParser.java string split checker on line 125 which havent handled the added parameter (if (content.length > 2)).

Example to reproduce the bug: !wkt artist - a song with an apostro'phe --noredirect

Inappropriate Images for Artists

Biggest issue on this bot, had to get rid of Chuu from numerous servers.

Basically with any command that features an artist's picture, some of the images are fucked up.
Examples:
Foo Fighters - Doge meme that reads "Fighters When They See A Foo"
Gorillaz - Edit of The Nutshack
ToP - 9+10 kid
Tyler, The Creator - White boy
Azealia Banks - Offensive tweets
FKA twigs - Cellophane cover but with FKA twigs holding a gun
BTS - Coronavirus joke
JPEGMAFIA - "Now yes, there was some slavery, but"
Loona - Picture of a monkey with text reading "No Picture of Loona"
Blackpink - Roblox porn
Justin Beiber - His mugshot from 2014

I highly reccomending having the bot only access the artist images on last.fm, as there is a lot less NSFW/offensive images on there. Letting people change the icons would lead to this eventually, so please fix it.

Non accurate updating.

Chuu does not keep up with the songs playing, even after disconnecting and reconnecting the account from the bot, disconnecting spotify from last fm and just restarting both apps. tried updating, claims last scribble was 41 hours ago.

Aliases command

The instructions when I use the help along with alias. The form I was given did not work and I used different alterations but those also failed. I would just like a clear explanation how it works cause I see some artists with 15+. Thanks

Add "enby" alias for !nb and /chart pride flag:nb

Really love the pride flags feature, and it works really well.

Just a tiny nitpick. A lot of nonbinary and binary trans folk prefer the term "enby" to "nb". I was wondering if you could make an alias to the command such that !enby and /chart pride flag:enby would be supported.

Thanks so much!

Timezone formatting unclear

The help message for setting a user's timezone is as follows:

Name: Timezone Config
Description: Sets your timezone so some time functionality of the bot can be more accurate
Aliases: !timezone, !tz
Usage: !timezone Timezone
The timezone can be written either as a abbreviate of the timezone (CET, PT...), the offset of the timezone (+01:00, -12:00...) or trying to write a representative of the timezone using the following format (Europe/Brussels,America/Los Angeles...).
Can use --nam to lol

In addition, when a user gives malformed input with the timezone command, this is returned.

Error on katlyn's request:
Couldn't parse any timezone from the given message :(
The timezone can be written either as a abbreviate of the timezone(CET, PT...),the offset of the timezone (+01:00, -12:00...) or trying to write a representative of the timezone using the following format (Europe/Brussels,America/Los Angeles...)
Refer to https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the full name of the timezones that are accepted.

However, when attempting to set the timezone none of the provided formats are successful. The following commands all returned an error saying the timezone could not be parsed (listen roughly in order of being attempted).
!timezone America/Denver
!timezone MST (worked but did not return correct timezone)
!timezone -07:00
!timezone UTC-07:00
!timezone Australia/Sydney
!timezone AEST

In the end, I was able to go through the source code and find out from the test for TimezoneParser that providing the timezone database name without a region (just the city, eg !timezone Denver) would work. After testing, this indeed did work, but without looking through the source code I never would have discovered that using that format would allow the command to complete successfully.

Ideally the parsing should be updated to match the formatting that is given in help messages, though an update to the help message to clarify the formats expected would also be good.

Bad dependency in build.gradle

When I try to build Chuu, gradle can't find the lavaplayer-fork because the version is invalid, apparently it specifies the commit hash but in the repos of jitpack there is no package with a version specified by the git commit. There is an specific reason to use this revision? Why not just use 1.3.97?

Broken Markdown with unescaped characters in artist names

Artist names with the '_' character may create a block of italicized text in Markdown. This in turn breaks any other Markdown formatting in between the underscore characters.

image

The artist nervous_testpilot starts an italicized block and coincidentally ends with with last.fm username SwitchyRabbit_ and breaking link formatting along the way.

Same issue would occur with other Markdown characters such as * or ~

Help command stopped working

The new commands added recently (InviteCommand and SourceCommand) forgot to define a parser so when the Help command is executed an uncaught exception is thrown that makes the command not work.

Temporary Bots

Update

Got the old account back, so you can use the old invite in order to get Chuu in your server
https://discord.com/oauth2/authorize?client_id=537353774205894676&scope=bot%20applications.commands&permissions=387136

Invites

I'll leave here the list of all the bots that im running myself while we wait for Discord Support to help me recover the main instance.
Since this bots are brand new, they are not verified, and thus, the limit they can work in is 100 servers. Keep this in mind please.

All these bots share the same database, which was the main one used for the original bot, so you shouldn't have to link again or anything, and all the data is shared between all the sub-instances.

Documenting the list in case anyone has doubts about the bots being safe to use :

For the time beeing, avoid adding the bot to personal or small servers since each bot has a limit of 100 servers, in order to reach the maximun number of people please do not clog the number of servers.
I will probably implement a process in which the bot leaves the server if it's a really small server, but i rather not do that.

Main Bot

id: 894548689589260328
tag: Chuu#4813
invite: Not available atm

Since this is what the main instance will be in case I don't get the original one back, ill be handling the invites to this one for now.
Please use one of the other bots if you are interested.

Secondary bots

  • Chuu-2

    • id: 896369350829813872
    • tag: Chuu-2#2297
    • invite:
  • Chuu-3

    • id: 896370503541993472
    • tag: Chuu-3#5659
    • invite:
  • Chuu-4

    • id: 896370596634574890
    • tag: Chuu-4#9314
    • invite:
  • Chuu-5

    • id: 896370690318544986
    • tag: Chuu-5#6553
    • invite:
  • Chuu-6

    • id: 896429497459560449
    • tag: Chuu-6#7838
    • invite:
  • Chuu-7

    • id: 896429756961128489
    • tag: Chuu-7#3915
    • invite:
  • Chuu-8

    • id: 896429911953248277
    • tag: Chuu-8#5103
    • invite:
  • Chuu-9

    • id: 896430099564494868
    • tag: Chuu-9#0272
    • invite:
  • Chuu-10

    • id: 896430347682734151
    • tag: Chuu-10#0937
    • invite:

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.