Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tip bot requirements #6

Open
bedeho opened this issue May 19, 2023 · 2 comments
Open

Tip bot requirements #6

bedeho opened this issue May 19, 2023 · 2 comments
Assignees

Comments

@bedeho
Copy link
Member

bedeho commented May 19, 2023

Background

People have expressed an interest in being able to socially tip each other on Discord, right now do not have a way to do that. There has been an attempt at doing that, but it has some significant design flaws - among which is to require users to provide their seeds, so we need some more solid requirements.

Note: I am not conviced about the real value in executing on this now, given how complex it is, and likelihood of it being adopted, but just posting this

Proposal

Maintiner

@DzhideX

Infra

Jsgensis operated.

Target chain

Carhtage

Requirements

The idea in this proposal is to only use Discord handles as identifiers, and sidestep the entire problems of mapping on-chain memberships to users, as that gets very messy and complex. This requires that Discord handles are used as identifiers, and that we are sure that they are obth immutable and unique. This seems to be changing on Discord these days, so we must be careful to get it right.

  • Users can tip each other using Discord handles
  • Users can tip Discord handles that do not yet have any on-chain membership or accounts, money is instead held by bot.
  • Users tip each other using funds they have pre-deposited in a tip bot account, hence they do not share any seed or secret with the tip bot, the bot is in essence a custodian.
  • Users settle balances by cashing out, so all intermediate tips are not settled on chain until there is a cashout.
  • Users can check the balance of any other user in the tip bot.
  • Users can see the tip bot transaction history of any user.
  • Users can cash out to a raw account only.
  • Admin can set a daily transaction count limit.
  • Admint can set a daily cashout limit, in terms of $JOY.
  • Admin can set a daily deposit limit, in terms of $JOY.
  • There is a help command which links to some external page or something.
  • Bot must be versioned!
  • There must be a stats endpoint that outputs information about version number, whether bot has gone fractional, or has too much money, etc.

Resource

https://github.com/paritytech/substrate-tip-bot

This was referenced May 19, 2023
This was referenced Jul 5, 2023
@chrlschwb chrlschwb mentioned this issue Oct 25, 2023
@ivanturlakov
Copy link

ivanturlakov commented Oct 30, 2023

Tested on https://discord.gg/T2jspUcb create_discord_server

✅ /help
Please follow this link to learn how to use the tipping bot. https://www.notion.so/joystream/JOY-tipping-bot-cc69c748e3994234842d03434facc82c?pvs=4

⚠️ We need to add instructions on how to top up the balance. It would be great to have all the information you need inside the dialog with the bot, eliminating the need to constantly go to the link to Notion.

Ivan Deposited 3JOY to pool 5EX1JGrkV84M7RLbaaYX4DSrNLC9ZSpfNU7TtobEaF2UMtxC

✅ /status
Bot version : 1.0.0 Pool Wallet : j4TmusK6iMqZNx2nLrYzCuN9qtiGj4LPq6QjuGMdZ1KB71b9D Pool Amount : 40.99JOY
⚠️ We need to unify pool addresses formats to avoid confusion (help info and /status)

✅ /verifydeposit1
Go to this URL https://polkadot.js.org/apps/?rpc=wss://rpc.joystream.org:9944#/signing and sign the following data with the given account. eSLbatPdk8

✅ /verifydeposit2
Your wallet has been verified. Your deposit is 3 JOY

✅ /getbalance Ivan
@Ivan balance is 3JOY The wallet address bound to this discord account is ...

✅ /getbalance Create
@Create balance is 7JOY The wallet address bound to this discord account is ...

✅ /send to Create 1 JOY
You have sent @Create 1 JOY

✅ /getbalance Ivan
@Ivan balance is 2JOY The wallet address bound to this discord account is ...
⚠️ I suggest to add @ symbol to Input label in cases like this
Screenshot 2023-11-08 at 12 16 18

✅ /getbalance Create
@Create balance is 8JOY The wallet address bound to this discord account is ...

✅ /withdraw 1JOY Ivan
You have withdrawn 1 JOY

✅ /getbalance Ivan
@Ivan balance is 0.99JOY The wallet address bound to this discord account is ...

@ivanturlakov
Copy link

⬆️ Updated my report and added some thoughts. Overall all is good with the basic functionality 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants