Work in progress!
Setup an AirTable.
Add a Users
and Scraps
table.
Refer to AirTable Integration section and copy the field names.
Clone this repository into a desired folder.
git clone https://github.com/blairhackclub/scrappy/ SCRAPPYFOLDERNAME
Install dependencies.
npm i
Add a .env
file with the following environment variables.
AIRTABLE_BASE_ID=found in AirTable URL
NEXT_PUBLIC_AIRTABLE_API_KEY=found in AirTable personal settings
CLIENT_ID=found in Discord Developer Applications page
TOKEN=found in Discord Developer Applications page
GUILD_ID=found in Discord
SCRAPBOOK_CHANNEL_ID=found in Discord
Run the bot.
npm start
Clone Blair Hack Club's site.
git clone https://github.com/blairhackclub/site-v2 SITEFOLDERNAME
Install dependencies.
npm i
Isolate scrapbook feature as needed. Blair Hack Club scrapbook uses the pages/scrapbook
folder, lib
folder, public/assets
folder, components
folder, and .env
(including all the required Next directories).
Add a .env
file with the following environment variables. WORK IN PROGRESS
NEXT_PUBLIC_AIRTABLE_BASE_ID=found in AirTable URL
NEXT_PUBLIC_AIRTABLE_API_KEY=found in AirTable personal settings
Run the site.
npm run dev
This bot integrates with an Airtable base to store and manage data. The base should have the following tables with the following fields:
Scraps
tableScrap ID
: AutonumberCreated time
: Created timeDiscord Message ID
: Single line textDiscord Thread ID
: Single line textDescription
: Long textAttachments
: AttachmentTags
: Multiple select (not implemented yet)Mentions
: Link to Users, Allow linking to multiple records (not implemented yet)User
: Link to UsersUser Record ID
: Lookup, User, Record IDUsername (from User)
: Lookup, User, UsernameAvatar (from User)
: Lookup, User, Avatar
Users
tableUsername
: Single line textRecord ID
: Formula,RECORD_ID()
(optional)Discord UID
: Single line textAvatar
: Attachment,GitHub User
: Single line text (not implemented yet)Website
: Single line text (not implemented yet)Scraps
: Link to Scraps, Allow linking to multiple recordsMentions
: Link to scraps, Allow linking to multiple records (not implemented yet)
Read more about Airtable's API: https://airtable.com/api