• Stars
    star
    108
  • Rank 314,796 (Top 7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Update your discord activity status with a rich presence from Figma.

Figma Discord Presence

Build/release

Figma Discord Presence - Adds rich presence activity to Discord for Figma | Product Hunt

Update your discord activity status with a rich presence from Figma. Supports Windows and MacOS

demo

Features

  • Shows what you're working on in Figma
  • Menubar application for convenient control and configuration
  • Privacy configuration options for hiding filenames, activity status, and Figma view buttons
  • Idle and active indication if you have tabbed out or are actively using Figma
  • Respects Discords 15s status update limit, but, privacy options set immediately
  • Support for manually reconnecting to the Discord Gateway
  • Support for enabling or disabling presence reporting at will

How does it work?

Figma does not support a native way to monitor the application state in the background (yet?), but, it does drop some state files on your machine.

This application periodically reads those files checking for updates and combines some information to determine whether Figma is in the foreground, what the current active file is, and a share link to that file.

Every ~15s your Figma activity is reported to Discord via the Discord RPC protocol.

Troubleshooting

Linux is currently not supported. This application requires Figma Desktop. Ensure that you have your activity status enabled in Discord, or your activity won't be visible to anyone.

MacOS:

  • MacOS may ask for permission to control other apps. It is required to enable and communicate with Figma and Discord.
  • This application assumes you install Figma Desktop normally, and have not changed or modified it in any way
  • ~/Library/Saved\ Application\ State/com.figma.Desktop.savedState/windows.plist must exist
  • ~/Library/Application\ Support/Figma/settings.json must exist
  • It may take a few seconds for your activity to update to show the latest active/idle status and filename in Discord. Figma's savedState does not update in realtime. We could watch this file for changes and update your Discord activity when it does but since we try to honor Discord's 15s activity update limit, we currently just wait for the next tick to update your activity.

Development

# Clone this repository
git clone https://github.com/bryanberger/figma-discord-presence

# Change directory
cd figma-discord-presence

# Copy and edit env vars
cp .env.example .env

# Install dependencies
npm install

# Run the app
npm start

# Build the electron binaries
npm run dist

# Publish (using the S3 Provider, make sure you're authenticated and have a bucket setup)
npm run publish

Release

This project uses Github Actions to build for Windows and Mac. Upon successful build, if a git tag exists it will publish to S3 (given you've provided the proper access tokens).

eg:
git tag v0.0.0
git push && git push --tags

Contributing

To contribute to this repository, feel free to create a new fork of the repository and submit a pull request.

  1. Fork / Clone and select the master branch.
  2. Create a new branch in your fork.
  3. Make your changes.
  4. Commit your changes, and push them.
  5. Submit a Pull Request here!

Notice

While I am a Discord employee, this is by no way endorsed as an "official" integration with Figma. This is a personal project and is actually kind of a hacky solution to bring Rich Presence for Figma to Discord.

License

This project is licensed under the MIT License - see the LICENSE file for details.

More Repositories

1

sketch-incopy

Sketch 3 PoC plugin that enables a similar Copy/Design workflow to inCopy/inDesign
JavaScript
49
star
2

sketch-wcag

A Sketch plugin that letโ€™s you test an entire color palette against the WCAG 2.0 contrast guidelines.
JavaScript
27
star
3

figma-skeleton-generator

A Figma plugin for generating skeleton UI placeholders, specific to Discord's usecases.
TypeScript
20
star
4

discord-figma-project-scaffold-generator

A Figma plugin for generating a consistent project page structure at Discord.
TypeScript
17
star
5

figma-discord-random-avatar

Randomly apply an avatar fill style from a library to all children in a selection.
TypeScript
10
star
6

figma-patcher

Patch Figma with custom injected Javascript
JavaScript
7
star
7

figma-discord-webhook

Send Figma publish events to a Discord webhook using Cloudflare Workers
JavaScript
7
star
8

abstract-copy-master

Watches an Abstract project for changes, copies latest master commit Sketch file(s) to a destination of your choice
JavaScript
6
star
9

discord-kitt

Discord Bot that announces when a member joins the voice channel that this bot is in. Supports personalized messaged, and 60+ voices/multilingual
TypeScript
4
star
10

LeapMotionExperiments

leapmotion js experiments
JavaScript
2
star
11

figma-discord-upload-webhook

TypeScript
2
star
12

ga-sketch-upload

Simple server that brokers a deal with the Dropbox API to upload images (coming from a Sketch Plugin)
JavaScript
2
star
13

discord-text-style-swap

TypeScript
2
star
14

ArduinoFlashBlinkServer

Server
ActionScript
1
star
15

discord-mute-mqtt

Discord Mute MQTT Led Controller
JavaScript
1
star
16

OrigamiQuartzDemo

Quartz Composer + Facebook Origami Prototyping Interactions Demo
1
star
17

rsync-watch

An async watch folder + rsync command line utility for Node.js.
JavaScript
1
star
18

discord-notion-message-command

Rewrites a notion link (https://) to (notion://) in a message and returns it back to the user
JavaScript
1
star
19

ga-discord-bot

Simple discord bot to delete all messages entered into the chat
JavaScript
1
star
20

cod-dashboard

Feeds a MySQL Database with COD Warzone Stats for visualization in Grafana
JavaScript
1
star
21

alexa-mac-controller

A WeMo emulator for running local commands on your mac machine
JavaScript
1
star
22

discord-ambience

(WIP) Discord ambient music bot
JavaScript
1
star
23

react-responsive-viewer

Load up a page in multiple iframes to test responsiveness
JavaScript
1
star
24

iBookRemote

A menubar app that let's you use your Apple Remote Control (white and aluminium) to flip pages in iBooks.
JavaScript
1
star
25

ArduinoFlashBlink

Client
1
star