Skip to content
This repository has been archived by the owner on Nov 25, 2022. It is now read-only.

Planned functionality / general discussion #19

Closed
11 of 40 tasks
zzzowoey opened this issue Jul 22, 2019 · 38 comments
Closed
11 of 40 tasks

Planned functionality / general discussion #19

zzzowoey opened this issue Jul 22, 2019 · 38 comments
Labels
continuous feature New feature or request
Projects
Milestone

Comments

@zzzowoey
Copy link
Member

zzzowoey commented Jul 22, 2019

All items not checked off of this list are open for contribution - feel free to open a PR for any of them!

Operator

Config

  • autorole
  • confirm - used for manual autorole assignment

Info

  • Allow invoking commands via mention

Fun

  • 8ball
  • Image manipulation
    • Replace ImageJ?
    • deepfry
    • deepdream
    • jpegify
    • optimize
    • imagesearch - find similar images on Google
    • sharpen
    • blur
    • grayscale
  • watch2gether - create a watch2gether room
  • urbandictionary
  • wikipedia
  • xkcd

Moderation

  • softban [user]
  • warn [user] [reason]
  • chatlogs [user]
  • Add filtering (user, content type, text, etc.) to purge

Music

Done! #25

Utility

  • calc [expression]
  • graph [expression]
  • translate [to] [text] [from]
  • dictionary [word]
  • compile [source] - compile (NOT execute) a source file
    • javac
    • gcc / g++
    • pyc
  • hexdump [file] - print raw hex data for a file (first 1000-ish bytes or output to text file)
  • codepoint [character] - find the Unicode codepoint(s) for a character
  • isup [host] - check if a host/address is responding
  • uptime
  • feedback / report
  • sed

Other/Unplanned/Possible

@LeMikaelF
Copy link
Contributor

LeMikaelF commented Jul 23, 2019

I'd like to work on the dictionary functionality. I don't want to step on anyone's toes, tell me if it's something you'd like.

@zzzowoey
Copy link
Member Author

By all means. If something is on the list and not checked off, feel free to work on it.

@LeMikaelF
Copy link
Contributor

Nice. I'm on it.

I looked into the Wikimedia API, which could be used to get Wiktionary content, but there's a lot of text. I think something minimalistic like Google's dictionary would be ideal; but they don't offer an API. There is an Oxford Dictionaries API, but it's only free up to 1000 requests a month.

I'll try and find a better one, but I might have to resort to trimming down Wiktionary articles.

@zzzowoey
Copy link
Member Author

This might work. It's multilingual, too.
Also, the Wiktionary API has a format parameter that should(?) strip away most of the text.

@LeMikaelF
Copy link
Contributor

@cbryant02 Glosbe is only for translations. I managed to find something with definitions, but it looks like a good API for the future translation module.

@zzzowoey zzzowoey added feature New feature or request good first issue Good for newcomers labels Jul 26, 2019
@zzzowoey zzzowoey pinned this issue Jul 26, 2019
@zzzowoey zzzowoey added this to the 1.x milestone Jul 26, 2019
@zzzowoey zzzowoey added this to In progress in ghost2 Jul 26, 2019
@LeMikaelF
Copy link
Contributor

Almost done with the translation module here. It looks like Glosbe is down today, so I wasn't able to test it. I have things to attend to this weekend, but everything should be ready and working within a few days.

@LeMikaelF
Copy link
Contributor

It looks like Glosbe is broken forever, so I had to switch to another API (IBM Watson). It's going to require a key, but it's free up to 1 million characters (about 330 pages of text) per month. So it's coming, but I had delays.

@LeMikaelF LeMikaelF mentioned this issue Aug 6, 2019
4 tasks
@urielsalis
Copy link
Contributor

I can work in the xkcd module if no one else is doing it :)

I assume its to get a random xkcd if there is no parameters, or get the image + subtext if you pass a specific one?

@zzzowoey
Copy link
Member Author

zzzowoey commented Oct 2, 2019

Yup, you got it spot on. We've got both HTTPClient and Spring Web in the project dependencies, so you've got a choice between the two for your implementation.

@mpardoen
Copy link
Contributor

mpardoen commented Oct 2, 2019

Hello,

I was thinking of adding the uptime while I get used to the code base and before going after a bigger feature. Any preference on the format? I guess the format in ms is not really readable from an end-user perspective.

@zzzowoey
Copy link
Member Author

zzzowoey commented Oct 2, 2019

Days, hours, minutes would be most readable, I think.

@urielsalis
Copy link
Contributor

Made 2 PRs, one with a general cleanup and another one with the module

Now working on isup :)

@jordansprojects
Copy link

Hey is it okay if I work on the 8Ball function? Thanks for this cool repository by the way, I am already learning a lot.

@zzzowoey zzzowoey changed the title Planned functionality Planned functionality / general discussion Oct 3, 2019
@zzzowoey
Copy link
Member Author

zzzowoey commented Oct 3, 2019

Of course. Everything on the list that's not checked off is 100% open for contribution.

@mpardoen
Copy link
Contributor

mpardoen commented Oct 4, 2019

Hey, I'll start looking into the watch2gether integration feature.

@zzzowoey
Copy link
Member Author

zzzowoey commented Oct 4, 2019

Sounds good. I looked into it recently and they have an API, but it doesn't appear capable of anything beyond generating embeds. Generating a room via a POST request, on the other hand, requires a token that I'm not sure how to obtain manually.

If you ultimately end up needing to add a browser automation framework, feel free to. We'll most likely end up using it for other functionality anyways.

@zzzowoey zzzowoey moved this from In progress to Infinite development in ghost2 Oct 4, 2019
@zzzowoey zzzowoey moved this from Infinite development to TBD / infinite development in ghost2 Oct 4, 2019
@mpardoen
Copy link
Contributor

mpardoen commented Oct 4, 2019

According to several posts on the forum, they have more to their API but it's not documented/public yet. I requested an API token and information to continue.

@mpardoen
Copy link
Contributor

mpardoen commented Oct 9, 2019

Hello,

I was thinking I'd start to work on the "Allow invoking help via mention" but I'm not completely sure what you mean by that. @cbryant02 Can you please give me some more information? Do you mean invoking the help module when mentionning/PMing the bot user?

@zzzowoey
Copy link
Member Author

zzzowoey commented Oct 9, 2019

Yep. I think it should probably be expanded to "allow invoking commands via mention" in general, which is relatively simple with the way that CommandDispatcher works right now.

@yashkhatri1
Copy link

hey can i work on restart (on hold, #21)
seems to be empty

@zzzowoey
Copy link
Member Author

zzzowoey commented Oct 9, 2019

Restart and update are delayed until we have a working GUI wrapper, which isn't going to be any time soon. The wrapper will be its own independent project.

In the meantime, there are still a few other modules left unchecked, and you can always come up with and work on your own ideas as much as you want.

@zzzowoey
Copy link
Member Author

zzzowoey commented Oct 17, 2019

PSA: This repository has been transferred to its own open-source Github organization that I am now managing. Let me know if there are any permissions issues that need to be ironed out.

Please update your remotes to point to https://github.com/ghost2-discord/ghost2.git.

@DeRain14
Copy link

DeRain14 commented Jan 25, 2020

Hey can I work on some of the image manipulation commands? Although I've already started looking into it but can't seem to come to a conclusion on how ghost handles images exactly, specifically with regards to the command context, so any direction would be appreciated in that regard. @cbryant02

@zzzowoey
Copy link
Member Author

Yeah, feel free to. Currently, CommandContext doesn't handle actual image attachments properly, so you'll have to add a field for Message#getAttachments. This should be pretty straightforward.

@adam-poteralowicz
Copy link

Hey, can I contribute the Urban Dictionary module?

@zzzowoey
Copy link
Member Author

@adam-poteralowicz Sure thing! Just open a PR when you're done and I'll review it.

@weakphish
Copy link

hey - I'm looking to contribute a few things, look for a PR for eightball/deepfry soon :)

@zzzowoey
Copy link
Member Author

zzzowoey commented Jun 17, 2020

@John123Allison Will keep an eye out, thanks!

@weakphish
Copy link

@cbryant02 Hi Cole, can you post / list a more detailed guide on building the bot? The documentation is a bit lacking and I'm having trouble testing my features. Thanks :)

@zzzowoey
Copy link
Member Author

zzzowoey commented Jun 18, 2020

@John123Allison There's a lot of work to be done on the wiki, but here's a basic guide on configuring the bot.

Once you have that done, there's a Gradle task from the Spring Boot plugin called bootRun that will set up the database, build the project, and run it for you.

@weakphish
Copy link

weakphish commented Jun 18, 2020

Howdy - so, I have a working IntelliJ/Gradle build (after much dependency resolving...), but I can't figure out where it's spitting out a jar / how to actually run it - kind of embarrassing, but I don't have much experience with enterprise-esque Java, only Go. Any guidance would be appreciated.

@zzzowoey
Copy link
Member Author

zzzowoey commented Jun 18, 2020

Is there an error you're getting in the console? bootRun should start the project. You don't need to deal with a jarfile unless you're building a release.

If you can't figure out where it is, there should be a Gradle tool panel on the right-hand side of the IDE with all the tasks. bootRun will be in the build category if I remember right.

@weakphish
Copy link

Cool, I have it running. Thanks.

@weakphish
Copy link

@cbryant02 Alright, I might be dumb but I have the bot running and online in a test server, but looking through the code and trying random stuff I can't figure out how to invoke commands...

@zzzowoey
Copy link
Member Author

The bot's prefix is g! by default. If you're having trouble figuring out how the module declarations work, here's another wiki page for you.

You can also look at the other modules, of course. I can't really provide much more help without details, unfortunately.

@weakphish
Copy link

Thanks! The prefix is the part I couldn't figure out - I'd recommend putting that in the README for easy access.

The module I'm working on (fortune cookie) is almost done, PR coming soon 😄

@bnbatchelor
Copy link

@cbryant02 first timer here going to try and tackle the softban command if no one else is on it yet

@zzzowoey
Copy link
Member Author

zzzowoey commented Oct 14, 2020

Important stuff below!

Just a heads up, I'm going to be renaming this the organization to ghost-discord. The two repos we have right now will also reflect this change. This WILL break your Git remotes! Please don't hate me too much.

I also want to avoid abusing the issue system for general discussion for the forseeable future. I'll recreate this issue with a clean slate, but any further discussion should be held in the new Discord, which you can join right here. There's also a README badge in release/1.2.

@zzzowoey zzzowoey removed the good first issue Good for newcomers label Oct 14, 2020
@ghost-discord ghost-discord locked and limited conversation to collaborators Oct 14, 2020
@zzzowoey zzzowoey unpinned this issue Oct 14, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
continuous feature New feature or request
Projects
ghost2
  
TBD / infinite development
Development

No branches or pull requests

10 participants