Giter Site home page Giter Site logo

waifubot's Introduction

Waifu Bot

WIP REWRITE

Config

waifubot's People

Contributors

karitham 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

waifubot's Issues

Random Waifu Drops

Why

Dropping random waifus when people speak would make people interact more with the bot and between themselves, which is something I think is important

How

Making random drops when people speak / use the bot, and giving users the ability to claim those dropped characters.

Progress

  • random drop
  • claim command
  • add to the user's database
  • make random drops appear based on user use of the bot
  • stats about claimed waifu per user

Add random stats to waifus

What

Have waifus have stats that represent rarity and some sort of strengh, useful for some planned features

Why

More diversity in rolled waifus, also allow users to interact in the future with their waifus, maybe with items etc

Progress

  • Discuss what stats to be add
  • Add those to the database
  • Review existing's waifus case

[Feature Request] - add : sorting list by anime name of the characters

My feature request :
It could be great to have all the characters of a certain anime (all seasons included) displayed together.
Plus you can add the feature of sorting on your own waifugui.kar with a better integration.

The solution i propose :
It can be done by collecting the anime name and just sorting by alphabet order, you can just add it with the sorting on legonauzor gui (or your own gui)

An alternative :
Just adding a sorting feature on your own gui.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

github.com/Karitham/WaifuBot/config: cannot find module providing package github.com/Karitham/WaifuBot/config
	github.com/Karitham/WaifuBot/database: cannot find module providing package github.com/Karitham/WaifuBot/database
	github.com/Karitham/WaifuBot/disc: cannot find module providing package github.com/Karitham/WaifuBot/disc

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

[Feature Request] - Allow users to openly trade waifus

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
As an extension to #69, add a /opentrades, and a /addtradeoffer command, in which permits users to give trade offers to all WaifuBot users (not limited to Discord servers). This could permit exchanges abroad users (and maybe some persons may encounter some nice people in the same instance !)

Technical explanation
On DB : "tradeoffers" DB, containing "discord_userID", "waifuToOffer", "additionalComment" (optional)

On WaifuBot : /opentrades -> DB interrogation : "SELECT * IN tradeoffers"
/addtradeoffer -> "Which waifu would you want to trade ?" -> user adds waifu -> "Any additional comments ?" -> user can add a comment -> "INSERT INTO tradeoffers"

(optional) In WaifuGUI : "Open Trades" -> List of waifus. On click on one offer, gives waifu, discord ID and comment;

[v1] Migration to slash commands

Why

This issue is here to track the progress of implementing slash commands, which will bring the bot to its 1.0.0.

The goal is to unify the experience of using the bot, and to have it be simpler to use.

It's also a necessity since the bot is now in more than a hundred guilds, and since discord has restricted message listen permissing, using priviledged intents is not worth it

Tasks

  • Rolls
    • Basic functionality
    • Cooldowns
    • Token system
  • Discard unwanted characters for token #82
  • Tests
    • Mock DB
    • Mock Anilist
  • Search
    • Anime
    • Manga
    • Char
    • User
  • Roll
  • List
    • Include a link to the gui ?
    • Buttons for navigation of the embed
    • #51
  • Trade
    • Basic functionality
    • Ability to give multiple characters
    • #69
    • #68
  • Profile
    • Viewing
    • Quote
    • Favorite
    • Public flag (#69)
    • Anilist profile URL
    • #74
  • Verify
    • Ability to verify multiple characters

Refactoring queries

Right now queries work, but are not as modular as I want them to and the code is bad.

I'm rewriting the queries to make them better, at least in the code

Progress

  • Char by popularity
  • Trending Anime
  • Searching Anime
  • Searching Characters

[Feature Request] - Lost characters

Is your feature request related to a problem? Please describe.
Someone gaves me a character already in my list and when I checked it, he was neither in mine and his.

Describe the solution you'd like
I would like to be able to stack duplicate character gained in trade.

Describe alternatives you've considered - optional
Gimme back my lost character :'(

Events Order for claims

Pull Request 12 December 2021 : Events Order for claims

As-is

New Claim
Someone Guess the Name
Bot roll for a new claim
Bot check the Message of the User
Bot validate or not the claim

To-be

New Claim
Someone guess the name
Bot check the Message of the User
Bot validate or not the claim
Bot roll for a new claim

[Feature Request] - Order our lists

Is your feature request related to a problem? Please describe.
No, it's a feature that could help everybody while searching someone in your list. It could be nice if there was a command to order our lists by name(alphabetic order)/anime (alphabetic order)/ make a list with only our favorites ones.

Describe the solution you'd like
w.list name/anime and w.favorite add id. You can check your favorite list by using w.listfavorite (w.lf) or w.favoritelist (w.fl)

Describe alternatives you've considered - optional
There could be a maximum characters in your favorite list based on your total number of waifu (15%, 100 waifu = 15 favorite)

[Feature Request] - Profile customization

Profile customization
It should be a good idea to add the link of your Anilist.co profile, in order to see additional information about someone, as their favorite waifus, which can be something useful for trading with others, and maybe a future feature for the waifugui.

Add expended help messages per command

Why

Help users use the bot
Also make basic help clearer

How

Parse args to see if they match a command, if so, display specific help

Checkmarks

  • roll
  • search
  • list
  • profile
  • searchAnime
  • trending
  • give
  • claim

Add character names on give

Add character names on give messages, such as

You have given Riko Saikawa to Tangauche

rather than

You have given 120972 to Tangauche

Profile

What

Give users ability to check their profile

How

Using a command like profile or an alias

Progress

  • Display Username, profile picture
  • Give total waifu count
  • Ability to have favourite waifu
  • Custom quotes, see #18
  • Handle case where user has not set some parameters
  • Differentiate claimed and rolled waifus, see #3

[Feature Request] - add : token system

My feature request :
I would like to be able to exchange my characters that I am not interested in in my list against the possibility of making a free roll. This could be a useful feature to recycle our characters and reduce the size of our list.

The solution I propose :
It can be something like you get tokens when you /discard a character, and each 3, 4 or 5 tokens gives you the possibility to make a free bonus roll.

Add alias for prefix

Why

Mobile users sometime have first letters caps, this would make the bot more user friendly

How

  • Add alias for command
  • Configure those aliases

[Feature Request] - Unintentional behavior with the w.g command

There's a problem when you try to give a character that you don't have. There is the example on the attached picture.
Capture d’écran 2021-06-14 225146
The expected answer of the Bot should be like before with X does not own character Y, but the bots return the answer You have given to 『 』, as if you were giving the character, but without his name.

[Feature Request] - Trading API

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
With the potential of this bot, I think it'll be cool to have an token-accessible API to trade with other people using a 3rd party app

This could also permit you to update WaifuGUI, including a trading system inside the website, with certain conditions.

Technical Explanation
Consider 2 potential traders named User A and User B.
User A found in User B a waifu that interests him.

Using his Discord token, User A sends a trading request to User B via the trading API.
WaifuBot, with a webhook, intercepts the request and sends a DM to User B, telling that User A wants to trade with him.

User B, if the demand is accepted, will open the discussions.
User A and User B (inside the WaifuGUI website as an example), will discuss about the number of waifus to trade, and trading will be done using the same system.
If the request is rejected, it automatically sends a DM to User A telling that the demand was rejected.

This also prevents the use of Discord for trading, and opens the trading solutions outside of the server's zone.
(imagine two people that are from different servers but do use WaifuBot, it can lead to interesting things)

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

github.com/Karitham/WaifuBot/config: cannot find module providing package github.com/Karitham/WaifuBot/config
	github.com/Karitham/WaifuBot/db: cannot find module providing package github.com/Karitham/WaifuBot/db
	github.com/Karitham/WaifuBot/disc: cannot find module providing package github.com/Karitham/WaifuBot/disc

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Delete message after illegal rolls

Ability to delete messages coming from the bot, would be useful to not clutter the chat with failed rolls

  • Deletes Messages
  • Time before message delete can be configured
  • Message delete can be disabled
  • Message delete can be used with other features like list or unknown messages

Interaction fails with new Users

When a User that isnt registered yet in the database tries to use /roll or other features, it fails with the message "this interaction failed".
unknown

Trying to give these users a character via /give also fails, so they are effectivly locked out of using the bot.
Other users in my server that have been using the bot for a long time already can use it without troubles.

Random Trade

Is your feature request related to a problem? Please describe.
It's an idea of new feature that could be added to the bot for more fun.

Describe the solution you'd like
I want you to add a command w.trade/w.t @pseudo or w.exchange/w.e @pseudo that will trade 1 random character from each person of the duo if the second one accept the request by typing yes when he get pinged. I'm not sure about the second part but you could maybe also add a cancel command w.back/w.b that if written by both persons after the trade is done, gives back the characters to each one.

Additional context - optional
Don't forget to select characters that the other don't have to dodge bugs or duplicates characters.

Custom user quote on profile

What

Give users ability to add a custom quote on their profile

Why

More personalisation, more user friendly

Progress

  • Add a quote section to the user in the database
  • Give user ability to change quote
  • Display quote on profile

Trading Waifus

Progress

  • Ability to trade waifus
  • The giving requires confirmation
  • Have an option to exchange with another waifu

Character drops are no longer happening

Starting January 4th i've noticed drops are no longer happening in all the servers i'm in that are using the bot despite frequent use of different commands including /roll, /exchange and /give (previously 6 interactions triggered a character drop).

Has there been any changes recently that could have caused it?

Search characters for trade

Is your feature request related to a problem? Please describe.
It's a new feature that could be nice and useful.

Describe the solution you'd like
The idea is a command | w.search character owner ID/Name or w.s c o ID/Name | that show you the names of the users who have the character in their list. It could be possible that we don't know every persons who got the character so to avoid useless disagreement, you could also add a public or private statue that anyone could set on with the command w.profile private/public. That way, you can only show the users who put their profile in public.

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.