casper-ecosystem / developer-rewards

A place where developers can get rewarded for their contribution to the Casper Ecosystem and Docs
Apache License 2.0
5 stars 1 forks source link

Implement Casper Discord Bot #50

Closed gaupoit closed 7 months ago

gaupoit commented 11 months ago

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:

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
  4. 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 commented 11 months ago

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 commented 10 months ago

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 commented 9 months ago

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: https://github.com/discord/discord-api-docs/discussions/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 commented 8 months ago

Hello Krystian, thank you very much for your email. I appreciate your support for the DevReward program. I will forward your request to the appropriate individuals and hope to get back to you as soon as possible.

Best regards, Nicolas

[image: image.png]

Nicolas Zoellner

Senior Associate Ecosystem Growth, PMP®

Casper Association

a: Baarerstrasse 10 Zug CH-6300 Switzerland

w: casper.network @.***

On Sat, Dec 16, 2023 at 3:22 AM Krystian Zasada @.***> wrote:

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.png (view on web) https://github.com/casper-ecosystem/developer-rewards/assets/31452252/0f66dbe1-aa2e-4286-87a8-9d7b63aa4cfe

Information about an problems with automatic Discord roles: discord/discord-api-docs#5756 https://github.com/discord/discord-api-docs/discussions/5756

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

— Reply to this email directly, view it on GitHub https://github.com/casper-ecosystem/developer-rewards/issues/50#issuecomment-1858684489, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7RT6VR4OIVYZEQHYEHZL4DYJUAYDAVCNFSM6AAAAAA56563F6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJYGY4DINBYHE . You are receiving this because you commented.Message ID: @.***>

Moganesan commented 8 months ago

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 commented 7 months ago

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

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 commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

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

melpadden commented 7 months ago

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 commented 7 months ago

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 commented 7 months ago

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

NicolasZoellner commented 5 months ago

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.