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

Implement Casper Discord Bot #50

Closed
4 tasks
gaupoit opened this issue Oct 13, 2023 · 14 comments
Closed
4 tasks

Implement Casper Discord Bot #50

gaupoit opened this issue Oct 13, 2023 · 14 comments
Labels

Comments

@gaupoit
Copy link

gaupoit commented Oct 13, 2023

Reward Size in USD

700 USD

Reward category

NFT

Description

Currently there is no Casper Discord Bot that support Discord Administrator / Mod to manage their community. We would like to create this proposal to implement the Casper Discord Bot with these features:

  • Allow Discord user to connect their CSPR Wallets such as CasperDash and Casper Wallet
  • Allow Discord user to update their Wallet Address
  • Allow them to query their wallet info including balance and NFTs
  • Allow Discord Mod to create the Discord Linked Role based on the specific condition. For instance, user will have the role "Casper Hodler" if their staking is larger than 100000 CSPR.

Acceptance Criteria

  1. Setup the Casper Discord Bot by forking this repo https://github.com/JustinBeckwith/linked-role-bot
  2. Implement "Connect your accounts" flow that user can connect their CSPR Wallet with CasperDash or Casper Wallet
  3. Implement these commands:
  • profile: display the wallet information including balance and number of NFTs
  • connect: allow user to connect/reconnect their CSPR Wallet
  • nft: display their NFTs
  1. Implement the Casper Discord Bot Landing Page to introduce about the project information and allow the NFT builder / dApps to register their projects with Casper Discord Bot
@NicolasZoellner
Copy link
Contributor

Hello @gaupoit, thank you very much for the proposal. We will assess it during our technical evaluation meeting, which will take place today.

Best regards,
Nicolas

@NicolasZoellner
Copy link
Contributor

Hello @gaupoit, I apologize for the delay. We have assessed your idea and give you the green light to turn them into a DevReward. Thank you very much for your contribution!

@kryzasada
Copy link

kryzasada commented Dec 16, 2023

Hi.

I am in the process of creating the solution for this issue, however, I've encountered an problem regarding the automatic assignment of Discord Linked Roles.

From my understanding, it's not possible for a bot to automatically assign the "Casper Hodler" role to users. This function seems to be limited, requiring users to manually add the role themselves in the server settings.

In image you see manual adding role by the user.
image123

Information about an problems with automatic Discord roles:
discord/discord-api-docs#5756

2023-12-16 033150

Also, app for linked roles does not support slash commands in any way, so there is need to create Discord bot itself.

In my opinion the solution can be approached in two ways:

Linked Roles & Discord Bot:
This involves setting up linked roles, then sending metadata that allows users to set their roles independently. Discord will autonomously verify if the user has the necessary permissions to adopt these roles. However, it's important to note that the user must manually confirm the role assignment by going into the server settings. Discord bot would be needed to handle slash commands, e.g. profile.

Discord Bot only:
Create a Discord Bot specifically designed for role assignment that handles slash commands. This bot will be responsible for applying roles to users based on certain criteria.

In both cases there can be additional server for communicating between Discord, bot and Casper network.

Please describe in more detail what exactly you want, based on the limitations and capabilities of Discord

@NicolasZoellner
Copy link
Contributor

NicolasZoellner commented Dec 18, 2023 via email

@Moganesan
Copy link

Hi,
Im working on this project and its almost done i just want to implement the nft and assigning role. my question is can anyone explain how can i read nft metadata such as images in casper network?

Screenshot 2024-01-07 at 12 51 50 AM Screenshot 2024-01-07 at 12 51 56 AM

@Moganesan
Copy link

Moganesan commented Jan 18, 2024

Hello  👋,
I have completed the issue and attached the demo video here. Additionally, I have implemented all the functionalities you mentioned above.

  • Allowed Discord users to connect their casper wallet using /connect command.
  • Allowed Discord users to update their wallet address.
  • implemented /profile command to fetch CSPR balance and number of nfts.
  • Allowed users to get the Casper Holder role when they are Staking more than 1000 CSPR.
  • Implemented /nft command to fetch all nft's held in the wallet address.

Demo: https://www.youtube.com/watch?v=Xu1ndAzWPQ0&t=88s

Link: https://casper-discord-dashboard.vercel.app/

Please check out the video and let me know if there is anything else I need to do. I will also share the GitHub repository. I am waiting for your response.

Thank You,

@NicolasZoellner
Copy link
Contributor

Hello Devs, thank you for your contribution. We are currently in the evaluation process.
We will update you as soon as possible.

Best regards
Nicolas

@NicolasZoellner
Copy link
Contributor

NicolasZoellner commented Jan 31, 2024

Hello @Moganesan,
the Director of Developer Advocacy will contact you soon and check it with you and give feedback about it.
Best regards
Nicolas

@Moganesan
Copy link

Hello @Moganesan, the Director of Developer Advocacy will contact you soon and check it with you and give feedback about it. Best regards Nicolas

Hi @NicolasZoellner
Im looking forward to it,
Thank you

@Moganesan
Copy link

Hello @gaupoit ,
I'm reaching out to inquire about any updates on the status of my proposal submitted,
Thank you

@melpadden
Copy link

Hi, apologies for the late response. We have reccently had an issue with our Discord server, and it needed to be reinitialized. We would like to check that everything still works on this bot and once that is done, this DevRewards can be marked as approved. Thank you for your efforts.

@Moganesan
Copy link

Moganesan commented Feb 5, 2024

Hi, apologies for the late response. We have reccently had an issue with our Discord server, and it needed to be reinitialized. We would like to check that everything still works on this bot and once that is done, this DevRewards can be marked as approved. Thank you for your efforts.

yeah, please let me know if you need any assistance from my side for setting up the discord bot because im having the bot nodejs server and the dashboard for login,
Thank you.

@Moganesan
Copy link

Moganesan commented Feb 12, 2024

Hi @melpadden , is their any update in my submission.

@NicolasZoellner
Copy link
Contributor

Hey @Moganesan ,

We have finally completed our assessment. Due to the security breach and the new setup of the Discord, there is always a residual risk associated with using bots that we cannot exclude. Therefore, the bot will not be used or implemented.

As a result, this DevReward is rejected.

Wishing you all the best for the future.

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

No branches or pull requests

5 participants