hackclub / scrappy Goto Github PK
View Code? Open in Web Editor NEWšļø the bot that eats trash (and manages #scrapbook)
Home Page: https://youtu.be/8e0NLxQJ55Y
License: MIT License
šļø the bot that eats trash (and manages #scrapbook)
Home Page: https://youtu.be/8e0NLxQJ55Y
License: MIT License
Something is causing some peopleās streak count to be negative. Idk whatās causing it, but we should prevent streaks from decreasing if theyāre 0
Iād like to run some stats on gender breakdown of those with streaks so we have a baseline for future improvement.
Would greatly appreciate if Scrappy could log this in the Slack Accounts table so I can do this.
Just like Orpheus, I want to know when something went wrong. Scrappy is randomly failing for some people, to different degrees (for some people it posts but never replies, and for some people it doesnāt post). I donāt know whatās causing these failures, and I canāt reproduce them, and the logs are ephemeral so I canāt check them. So if scrappy fails to post, it should reply in the thread with the error so that I know what went wrong, and if a command fails, the command response should also reply with the error
When I run /scrappy webring or add/remove someone, it should @mention each person in my webring at the end so I know whoās currently there.
Now that hackclub/scrapbook#91 is live, we can reduce storage use on Airtable by removing the placeholder video uploading alongside Mux.
I've noticed that my š :smile:
emoji is reverting back to text on my scrapbook page after editing posts.
https://scrapbook.jameskerrane.com
https://scrapbook.hackclub.com/thatrobotdev
Should happen when user record is created as well as when updated. Should also be run retroactively on all users.
Hereās what happened:
Title says it all.
I've noticed many people's status not being properly updated when they need to. My theory for why this is happening: the streakResetter
file loops through every account record in Airtable (of which there are currently 980), queries Slack to get their latest post, queries Slack again to update their status, then queries Airtable to update their record. This wasn't a problem at the beginning of scrapbook when there were very few records, but now, scrappy is likely being rate-limited by Slack and Airtable.
I'd fix this by 1) filtering the initial Airtable query to only include records where the 'updates' field is not empty, and 2) slowing down the loop so that rate limits aren't hit.
Want to be able to see the CSS on someoneās page, so I know whether or not I want to apply it. Want the link to not unfurl because the thread reply + button already takes up a bunch of vertical space & the card wonāt be a helpful addition there.
Streaks aren't being reset properly because the streakResetter function doesn't return anything, which makes the zap error and turn off.
This is a feature that needs to be added to the scrappy. It would inform before streak gets reseted.
When processing @mentions, instead of looking up someoneās Slack handle with the Slack API, look up their Scrapbook handle based on the user ID in Airtable instead. This will fix instances where you mention someone with a different Scrapbook username, like Christina, where the link/avatar breaks: https://scrapbook.hackclub.com/lachlanjc
In the posts, when someone @'s someone in their post the scrapbook site shows the person's slack ID rather than the name. It might be better to show the name instead, or at least some better form of identification?
Make /scrappy webring
ā /scrappy-webring
, etc
Should let me post after midnight to count a day's streak. Most of my scrapbook work I do at night, after work, so the midnight cutoff just breaks the experience & makes me frustrated with Scrappy.
Link @username to either scrapbook.hackclub.com/username or their custom domain, as appropriate. Will make exploring peoples' scrapbooks from mobile way easier.
Run a script to run formatText
on all messages in Airtable.
Every scrappy message needs to have scrappy's personality. Some of them are really boring right now
We have way more domains registered on Vercel than used in Airtable, since people sometimes set their domain multiple times. Solution is to check if someone already has a custom domain set when they run the command, and if so, make a second request to Vercel to delete the existing one https://vercel.com/docs/api#endpoints/projects/delete-a-specific-production-domain-of-a-project
https://hackclub.slack.com/archives/C015LQDP2Q2/p1593783369483800
This happened after I checked the "escape" option on the /scrappy command in the Slack app dashboard. I need this option checked for the webring command, which means I need to figure out another way to parse the URL from this command.
No longer needed
Here's an idea: Have the comments in the threads in the slack channel also show up in the scrapbook site itself as well!
-> people can toggle if they want comments for that specific post by reacting with a certain emoji
-> either the comments show up on a diff page or it's expandable underneath
This would be super cool because it'd be easier for people to see what others have said about their work without having to scroll up or check threads.
Ok so basically editing broken
/scrappy profile, perhaps?
Idk Iām tired but letās make them bizarre
Currently the only reaction on https://scrapbook.hackclub.com/lachlanjc is just a skin tone color, instead of a runner with the skin tone. Iām cool with entirely removing the skin tone on the backend, or otherwise we need to fix the character. Itās being parsed wrong on the Airtable end:
The site is linking to https://scrapbook.hackclub.com/r/skin-tone-5, which might be a frontend bug as well.
As discovered https://hackclub.slack.com/archives/C01504DCLVD/p1592710927009000?thread_ts=1592710586.001500&channel=C01504DCLVD&message_ts=1592710927.009000 if you make a comment on a thread, then edit it, Scrappy reacts with beachball.
Whenever you post something in #scrapbook without a photo or video, scrappy will delete the post, and let you know that you need to include a video or picture.
Unfortunately, because scrappy deletes the post, you lose your writing. You cannot copy and paste it into a new message if you want to retry.
I think a better way to deal with these posts would be for scrappy to PM an account with their post content when scrappy deletes it.
Instead of needing to remember āaddā & āremove,ā allow /scrappy webring @mention to add someone who isnāt there or remove someone if theyāre currently there.
This should be super simple, happy to assist. Basically, run node-emoji to switch colon-emoji-colon into Unicode characters. We can ignore custom emoji for now, but would be nice to fix up the regular ones https://www.npmjs.com/package/node-emoji
A declarative, efficient, and flexible JavaScript library for building user interfaces.
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ššš
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ā¤ļø Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.