-
-
Notifications
You must be signed in to change notification settings - Fork 775
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
As a hackathon hacker I want team channels created for me in Discord automatically #5281
Comments
cc @owocki @vs77bb @kuhnchris @octavioamu @frankchen07 @mul1sh for input on how to approach this |
@alexvotofuture awesome thanks for this , i'm fixing a tough bug for the other discord bot issue, but i'll definitely be done with it tomorrow. So if this is bountied up I can get it done by Friday without further delays, thanks. |
@mul1sh you're making your own bot, or do you just create the interface for getting an signal when the start work occoured? thanks |
@kuhnchris i'll create a bot that will do the above, its much easier to implement it this way. But i'll also add instructions for the gitcoin team on how to deploy the bot to discord so as to achieve the above. |
It's no problem, i'm just asking the other way around, since we do have a bot already (no problem about a 2nd one tho), the question is how you implement the call to the "outside" from the Start Work button. Do you hardcode a URL to a webserver running paralell to the bot? Do you connect the bot to the database of gitcoin? using some signals? Let me know, since this is security technically relevant as we do not want to dig ourselves a huge hole for a new feature. :-) Thanks |
@kuhnchris great questions, 😃
Essentially what will happen is, if the issue is a gitcoin hackathon issue and the user already has saved their discord username details and they click start work, then the discord bot will be called with the details of the issue and the user and then from there be able to create the DM. Also btw I can still reuse the existing gitcoin discord bot, all I have to do is update it to work as above. |
I... honestly do not care, that's @alexvotofuture 's call which bot(s) to use. The essential is clear, but the point why this PR/Issue exists is, that I current do not see myself how the communication should work without hardcoding the start-work right now. If you got it to work, please let me know, i'll check the PR, eager to learn with what method you come up. :-) Thanks! |
I believe @kuhnchris is working on this? (I'll let him chime in here) I'll add another constraint - there seems to be a 50 chat room limit that we'll have to bypass somewhere as well. |
@frankchen07 as noted above @mul1sh seems to be working on it, so I'll let him finish for now. The 50 rooms limit shouldn't matter that much - but we can always split the categories - or allow the bot to create new categories if the ones we use are being filled up - e.a. if there are 40 channels in the category we create a new category and switch to that one (giving us about 10 rooms time incase there are lots of people trying to attempt to start). Alternatively: Create a queue in the database and until all channels are created successfully (via a callback or a reply) you keep sending the channels in the queue via cronjob. Just some options - i'll leave it to @mul1sh and @alexvotofuture to come up with the solution they want to use for now. @mul1sh how's the progress? You said something about friday being ready with the above topics - how's it looking? Thanks! |
@kuhnchris sorry for the delay, been a bit busy on my end. But i've resumed working on this issue and will get it done by Wednesday, so thats it available for use before the next hackathon. Maybe you could also bounty it up @alexvotofuture @frankchen07 @kuhnchris for some bit of motivation 😃 |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done This issue now has a funding of 0.4 ETH (69.17 USD @ $172.92/ETH) attached to it as part of the Gitcoin fund.
|
@mul1sh - just bountied and reserved for you for 3 days. looking forward to it: https://gitcoin.co/issue/gitcoinco/web/5281/3572 |
@frankchen07 wooh thanks, a draft PR is coming up in a bit 😄 |
@frankchen07 @alexvotofuture Sorry for the delay in this, I've realised the flow required to make this happen is a bit complex because of the following,
I managed to get steps 1 done, but the rest are quite complex and will need alot of time for testing so I wanted to get your feedback on this before I proceed any further. Sadly this also means this functionality won't be ready for the web3 hackathon because I'll need like a month to get it right, so maybe we postpone it to the next hackathon. Kindly let me know what you think of this, thanks. |
uh... al you need is a http part of the bot running in the same script as the bot (for example discord.py + flask) - whenever a new bounty is created with hackathon flag set then we send it to the http-part of the bot and this then creates a new channel (guild->createChannel) and a new role. The createChannel and role part is already done in this repo: All that is missing is the cross-link between gitcoin.co and the bot, either hardcoded (for now) or via a model + admin site. I'll leave futher discussion up to @alexvotofuture tho. Thanks, |
@kuhnchris Sorry I don't get you, creating the channel is not the issue, the issue getting the access tokens for both the hackathon funder and the gitcoin/discord user inorder to add them to the group dm. Without these tokens, then the bot can auto-create these channels but it won't be able to add the respective user's. |
Seems there's a little bit of misunderstanding here? I have a couple of questions, perhaps it'll clear things up:
|
@mul1sh sorry about my confusion but:
You have a token for the static discord server on the bot already (the one you joined the bot with) - with that token you can login to the discord server and have the guild with access to create channels and invites. Or am I misunderstanding our problem? Thanks @frankchen07 Thanks! |
@mul1sh - do you have a response to @kuhnchris?
When a funder creates an hackathon bounty, they should add a short stub for the bounty i.e. bounty-xxx so that this stub can be used later to create the DM channel. They should also manually authorise the gitcoin discord bot to get their access token so that its used for creating group DM's later. The bot auto-creates a discord group dm using the stub, created by the funder above + the gitcoin user's discord name, using the gitcoin user's access token i.e. bounty-xxx-discord-username
It sounds like there's a disagreement on if the access token is necessary to automatically create a channel. |
@frankchen07 no it's quite o.k i'm the one who got everything mixed up from the docs, sorry for this but @kuhnchris explanation cleared up things. So will this ready & tested by Monday then 🙂 |
@mul1sh: Is the solution ready and tested? We really need this feature deployed in time for our next hackathon in December. Let us know if you still think you're able to do it. Thanks! |
@alexvotofuture its almost there, sorry for the delay been a bit busy at work. But i'll get this in latest over the weekend once i'm done testing on my end. |
@mul1sh Can you make the PR tonight? If not we need to have someone else start on this tomorrow to make it in time for our Dec 2nd launch. Thanks! |
Sorry let me stop working on this ,for now, so that it doesn't seem i'm blocking it. But still i'll push my changes once the docker issue is fixed and i'm able to test my changes locally. Thanks. |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work has been started. These users each claimed they can complete the work by 2 weeks, 4 days from now. 1) solexplorer has started work. I have worked on a POC to create channels automatically for discord here: https://github.com/Solexplorer/Hackathoner Learn more on the Gitcoin Issue Details page. |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work for 0.4 ETH (59.09 USD @ $147.72/ETH) has been submitted by: @frankchen07 please take a look at the submitted work:
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done The funding of 0.4 ETH (59.09 USD @ $147.72/ETH) attached to this issue has been approved & issued to @Solexplorer.
|
User Story
As a hackathon hacker I want to have a Discord team channel created for me automatically when I "Start Work" on a prize.
Why Is this Needed
Hackathon participants often need a real-time communication channel for coordinating with potential and active teammates, and need a place to ask sponsors project-specific details.
The Gitcoin team currently uses Discord to provide these communication channels for hackers. However, all channels must be manually created by Gitcoin administrators, since there's no link between "Start Work" instances and the Discord server.
Description
Type: Feature
Current Behavior
Discord servers are manually created by Gitcoin administrators. Administrators periodically check hackathon prize pages for new "Start Work" instances, then create a Discord team channel for the user who started work for every new instance. They invite this user to their team channel according to the Discord username they provide in the "Start Work" work plan form (a field recently added by @owocki).
Gitcoin administrators make the Discord team channel public by default. This allows hackers to invite collaborators easily. But some hackers prefer private channels; in these cases an administrator will simply convert the public channel to a private channel, allowing Gitcoin administrators/ambassadors and sponsors to see messages but will block other hackers from seeing them.
Expected Behavior
When a user clicks "Start Work" on a hackathon prize bounty a public Discord channel should be automatically created and the user that started work should be invited to/tagged in the channel.
Ideally, the "Work Plan" should be automatically pasted to the channel as a message or channel description, so that other hackathon participants/sponsors/administrators can see the project summary/approach within Discord and decide whether to get involved.
Definition of Done
Discord team channels are automatically created when someone hits "Start Work".
Should provide permissions and simple documentation to help Gitcoin administrators use and enable/disable/configure the tool.
Data Requirements
Additional Information
The text was updated successfully, but these errors were encountered: