Karitham / WaifuBot

discord waifu / husbando gacha bot
MIT License
38 stars 11 forks source link

Search characters for trade #69

Open Ziloxeur opened 3 years ago

Ziloxeur commented 3 years ago

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.

BellezaEmporium commented 3 years ago

There's a verify function that does just that. it simply verifies if the person has got the ID of the waifu you want.

Karitham commented 3 years ago

From what I understand, the idea would be to retrieve all the users who own the character, so you can look for anyone that owns a character to trade with

I think it's a a good idea, but I'm concerned about privacy and the fact that not everyone would want to trade, especially in a big server, and it could bring annoyances to some.

Open to any way to reduce those

BellezaEmporium commented 3 years ago

Maybe add a "Open to Trade" system, when users can tell if they're OK to discuss and trade. That's a boolean to add to the users.

Karitham commented 3 years ago

I'm more open for a bitmask, so we could add other flags, but that's a good suggestion.

What would you suggest for toggling the flag? Have a config command?

BellezaEmporium commented 3 years ago

I'm more open for a bitmask, so we could add other flags, but that's a good suggestion.

What would you suggest for toggling the flag? Have a config command?

Yes, directly in the config.

Something like w.config accept_trades 0

Ziloxeur commented 3 years ago

I'm more open for a bitmask, so we could add other flags, but that's a good suggestion. What would you suggest for toggling the flag? Have a config command?

Yes, directly in the config.

Something like w.config accept_trades 0

As I said when I created the issue, I think that a public/private status on your profile that you can toggle with a command ( w.profile private/public ) could suit better to our situation. That way, we could display only the name of the ones who chose a public status.

Karitham commented 3 years ago

Having a config flag would make us able to add more configuration to our profile, so I kind of favor this option.

It's also better if we want to one day move to slash commands

Karitham commented 1 year ago

Tempted to just add full-text search + id search on the API, and not care about any public (or not) profile. If users don't want to be contacted, they can just do the usual and not respond to DMs or block others.

Unsure how to lay it out in the bot.

I really want full text search for this, which requires me to upgrade the backing database to cockroachdb v22.2, but I'm not currently in control of said version. I'll revisit this when I have FTS working

BellezaEmporium commented 1 year ago

Tempted to just add full-text search + id search on the API, and not care about any public (or not) profile. If users don't want to be contacted, they can just do the usual and not respond to DMs or block others.

Unsure how to lay it out in the bot.

I really want full text search for this, which requires me to upgrade the backing database to cockroachdb v22.2, but I'm not currently in control of said version. I'll revisit this when I have FTS working

If this system is linked to what we thought about for the website, maybe just add a settings tab in which you let the user decide if he/she wants to get DMs or not. This can be set as a boolean (or bitmask) inside the DB.

Karitham commented 1 year ago

I'm not sure having said system would be worth it. I was considering it for privacy reason, but doing opt-in means most users will never actually open themselves up to trade, and I don't see a reason to implement opt-out before anyone actually wants to opt-out.

BellezaEmporium commented 1 year ago

I'm not sure having said system would be worth it. I was considering it for privacy reason, but doing opt-in means most users will never actually open themselves up to trade, and I don't see a reason to implement opt-out before anyone actually wants to opt-out.

It's indeed going to be complicated to figure out.

I believe you can create a sort of forms that asks people if they want to test the "Open Trades" format, asking for their Discord username, and the bot sends a PM asking them if they're wanting to get other user's message. Therefore, we can create a sort of "World/Friends only/Nobody" system. This is a bit more complicated than the original solution, but it maybe is one of the most optimal I could think about now.

Karitham commented 1 year ago

I believe you can create a sort of forms that asks people if they want to test the "Open Trades" format, asking for their Discord username, and the bot sends a PM asking them if they're wanting to get other user's message.

Discord permissions already handles this who can contact me in DMs, and in-server pings are fine with most users too.

Therefore, we can create a sort of "World/Friends only/Nobody" system. Implementing this solution would also require us to know who's friend with who, which doesn't really make sense in terms of data collection for a discord bot.

I don't believe many users that use the bot are against trading anyways, and I don't believe most people that do use the bot will contact people outside their circles anyways (weebs are shy, lol)

BellezaEmporium commented 1 year ago

I believe you can create a sort of forms that asks people if they want to test the "Open Trades" format, asking for their Discord username, and the bot sends a PM asking them if they're wanting to get other user's message.

Discord permissions already handles this who can contact me in DMs, and in-server pings are fine with most users too.

Good point.

Therefore, we can create a sort of "World/Friends only/Nobody" system. Implementing this solution would also require us to know who's friend with who, which doesn't really make sense in terms of data collection for a discord bot.

I don't believe many users that use the bot are against trading anyways, and I don't believe most people that do use the bot will contact people outside their circles anyways (weebs are shy, lol)

I believe it can create more connections with more people, with their centers of interests. (this sounds more like Meetic or Tinder now lol). One of your main ideas with this bot was actually the fact that we can trade waifus with each other, so I guess it goes onto the idea.