Giter VIP home page Giter VIP logo

site's Introduction

Discohook

ci

An easy-to-use tool for building and sending Discord messages and embeds using webhooks.

Live instance is available at https://discohook.app/.

Running via Container

This application is setup to publish a container image to ghcr.io/discohook/site:latest. This image can be run with podman, docker, or another service compliant with the OCI. The image can be run from the command line with the following command or in the desktop guis (podman desktop guide)

# Replace 'podman' with 'docker' if using that, the command is equivalent
# Add --rm if you want the container to be removed automatically after being stopped
# If necesary, change the second 3000 to change which port on the local computer the app is bound to
podman run -d -p 3000:3000 ghcr.io/discohook/site:latest

Local build and run

Requires Node.js 16 and the Yarn package manager installed

# Install dependencies
yarn install

# Run a development server
yarn run dev

# Run a production server
yarn run build
yarn run start

site's People

Contributors

andreawilliams1 avatar antouto avatar b-rad15 avatar badcoder1337 avatar grahamsh-llk avatar maddymeows avatar manyoutroll avatar n1ckoates avatar pbrit avatar scragly avatar shayypy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

site's Issues

Footer icon won't show without a text

HI,

Recently used your neat solution to get a grip of Discord embeds. Thank you!

One thing I noticed when pushing to Discord, is that when the footer text is blank, or not set, the line won't show, i.e. the icon won't show without a text.

Just wanted to drop by letting you now. If you need anything alse, please ask.

Drag and drop feature

  • Change the order of messages
  • Change the order of embeds in a message
  • Change the order of fields in an embed
  • Move embeds across messages

No visual support for timestamp "blocks".

Currently, all "blocks" Discord supports are being visualized on the website, except for the time ones. With blocks, I mean placeholders which are surrounded by the greater-than and less-than signs. Some examples of supported ones are the <:emoji_name:000000000000000000> for emojis and <#000000000000000000> for channels.
However, Discord also has a set of these block-things for dates and times to automatically format and update them, and convert them to the reader's time zone, but these are not being visualized on the editor website. Specifically, these are:
<t:1624855717> short date time: June 27, 2021 9:48 PM
<t:1624855717:f> short date time June 27, 2021 9:48 PM
<t:1624855717:F> long date time: Sunday, June 27, 2021 9:48 PM
<t:1624855717:d> short date: 06/27/2021
<t:1624855717:D> long date: June 27, 2021
<t:1624855717:t> short time: 9:48 PM
<t:1624855717:T> long time: 9:48:37 PM
<t:1624855717:R> relative time: 2 days ago

On the website:
image
In Discord
image

Embed json not working

This url with a valid base64 json just goes to default, when i manually add the same json in the editor it works, any idea whats going on
https://discohook.org/?data=eyJtZXNzYWdlcyI6W3siZGF0YSI6eyJjb250ZW50IjpudWxsLCJlbWJlZHMiOlt7InRpdGxlIjoiKiojNiA6YWJjZDogRGlzcnVwdGluZyBhbmQgYmFpdGluZyB0aGUgY2hhdCBpcyBub3QgYWxsb3dlZC4qKiIsImRlc2NyaXB0aW9uIjoiLSBUaGlzIGluY2x1ZGVzIHRleHQgc3BhbSwgY29weS1wYXN0ZWQgdGV4dCB3YWxscyBhbmQgc3BvaWxlciBiYWl0aW5nIHRvIG1ha2Ugb3RoZXJzIGJlbGlldmUgaXRzIGEgYmFubmVkIHdvcmQuXG4tIEV4Y2Vzc2l2ZSB1bm5lY2Vzc2FyeSBwaW5ncywgb3ZlcnVzZSBvZiBjYXBzL3RleHQgZm9ybWF0dGluZyBhbmQgdW5uZWNlc3NhcnkgdXNhZ2Ugb2YgdGhlIFN1cHBvcnQgQm90IGFyZSBhbHNvIHRvIGJlIGF2b2lkZWQuIiwiY29sb3IiOjE2Nzc1MTU5fSx7InRpdGxlIjoiKiojNiA6YWJjZDog64Ka7Iuc6riAIOuTseycvOuhnCDrjIDtmZTrpbwg67Cp7ZW07ZWY64qUIO2WieychOuKlCDquIjsp4DrkKnri4jri6QuKioiLCJkZXNjcmlwdGlvbiI6Ii0g7Jes6riw7JeQ64qUIOyKpO2MuCwg67O17IKs7ZWY7JesIOu2meyXrOuEo+ydgCDsnqXrrLgsIOu2iO2VhOyalO2VnCDrqZjshZgsIOq3uOumrOqzoCDsmKTtlbTtlaAg7Jes7KeA6rCAIOyeiOuKlCDsiqTtj6zsnbzrn6zrk6Trj4Qg7Y+s7ZWo65Cp64uI64ukLiIsImNvbG9yIjoxNjcxMTY4MH0seyJ0aXRsZSI6IiM3OmJ1c3RfaW5fc2lsaG91ZXR0ZTogSGF2aW5nIGEgdXNlcm5hbWUvcHJvZmlsZSBwaWN0dXJlL3N0YXR1cy9HYW1lIEFjdGl2aXR5IHRoYXQgY29udGFpbnMgYW55IHZpb2xhdGlvbiBvZiBvdXIgcnVsZXMgaXMgcHJvaGliaXRlZC4iLCJkZXNjcmlwdGlvbiI6Ii0gVGhpcyBhbHNvIGluY2x1ZGVzIGltcGVyc29uYXRpb24gb2YgU3RhZmYgbWVtYmVycyAoSGF2aW5nIGFuIGlkZW50aWNhbCBwcm9maWxlIHBpY3R1cmUgYW5kIHVzZXJuYW1lL25pY2tuYW1lKS4iLCJjb2xvciI6MTY3NzUxNTl9LHsidGl0bGUiOiIjNyA6YnVzdF9pbl9zaWxob3VldHRlOiDsgqzsmqnsnpDrqoXsnbTrgpgg7ZSE66Gc7ZWEIOyCrOynhCwg7IKs7Jqp7J6QIOyngOyglSDsg4Htg5wsIOqyjOyehCDtmZzrj5nsl5Ag7KCA7Z2s7J2YIOq3nOy5meydhCDsnITrsJjtlZjripQg64K07Jqp7J20IOyeiOyWtOyEnOuKlCDslYjrkKnri4jri6QuIiwiZGVzY3JpcHRpb24iOiItIOyXrOq4sOyXkOuKlCDsoIDtnazsnZgg7KeB7JuQ7J2EIOyCrOyaqeyekOuqheydtOuCmCDtlITroZztlYQg7IKs7KeEIOuTseycvOuhnCDsgqzsua3tlZjripQg6rKD64+EIO2PrO2VqOuQqeuLiOuLpC4iLCJjb2xvciI6MTY3MTE2ODB9LHsidGl0bGUiOiIjOCA6dGVsZXBob25lOiBVbnNvbGljaXRlZCBhZHZlcnRpc2luZyAodGhyb3VnaCB2b2ljZSwgdGV4dCBjaGFubmVscywgb3IgRE1zKSBpcyBwcm9oaWJpdGVkLiIsImNvbG9yIjoxNjc3NTE1OX0seyJ0aXRsZSI6IiM4IDp0ZWxlcGhvbmU6ICjsnYzshLEsIO2FjeyKpO2KuCDssYTrhJAsIOqwnOyduCDrqZTshLjsp4Ag65Ox7Jy866GcKSDsoIDtnazqsIAg7LKt7ZWY7KeAIOyViuydgCDrgrTsmqnsnZgg6rSR6rOg65Ok7J2AIOq4iOyngOuQqeuLiOuLpC4iLCJjb2xvciI6MTY3MTE2ODB9LHsidGl0bGUiOiIjOSA6c3BlYWtpbmdfaGVhZDogQWNjdXNpbmcgc29tZW9uZSBmb3IgYnJlYWtpbmcgcnVsZXMgaW4gcHVibGljIGNoYXRzIGlzIHByb2hpYml0ZWQuIiwiZGVzY3JpcHRpb24iOiItIEluc3RhbmNlcyBvZiBzdWNoIGFyZSBjb25zaWRlcmVkIGRlZmFtYXRvcnkuIElmIHlvdSBoYXZlIGFueSBwcm9vZiwgY29udGFjdCBhIFN0YWZmIG1lbWJlciBwcml2YXRlbHkgYWJvdXQgaXQgYW5kIHdlIHdpbGwgaGFuZGxlIHRoZSBzaXR1YXRpb24gYWNjb3JkaW5nbHkuIiwiY29sb3IiOjE2Nzc1MTU5fSx7InRpdGxlIjoiIzkgOnNwZWFraW5nX2hlYWQ6IOuIhOq1sOqwgOqwgCDqt5zsuZnsnYQg7Ja06rK864uk6rOgIOqzteqwnCDssYTtjIXrsKnsl5DshJwg6rOg67Cc7ZWY64qUIO2WieychOuKlCDquIjsp4DrkJjslrTsnojsirXri4jri6QuIiwiZGVzY3JpcHRpb24iOiItIOuqheyYiO2bvOyGkOycvOuhnCDqsITso7zrkJjrr4DroZwsIOunjOyVvSDriITqtbDqsIDqsIAg6rec7LmZ7J2EIOyWtOq4tCDspp3qsbDqsIAg7J6I7Jy87Iuc64uk66m0IOyggO2drCDsp4Hsm5Ag67aE65Ok7KSRIO2VnCDrtoTsl5Dqsowg6rCc7J24IOuplOyEuOyngOuhnCDsi6Dqs6DtlbTso7zshLjsmpQuIiwiY29sb3IiOjE2NzExNjgwfSx7InRpdGxlIjoiIzEwIDpmYWNlX3dpdGhfc3ltYm9sc19vdmVyX21vdXRoOiBHZW5lcmFsIHRveGljIGJlaGF2aW91ciBpcyBub3QgYWxsb3dlZCBpbiBhbnkgY2hhbm5lbHMuIiwiZGVzY3JpcHRpb24iOiItIFRoaXMgaW5jbHVkZXMsIGJ1dCBpcyBub3QgbGltaXRlZCB0bywgZWFycmFwZSwgbG91ZC9hbm5veWluZyBub2lzZXMgYW5kIHNjcmVhbXMgaW4gdm9pY2UgY2hhdHMgYW5kIHBvc3RlZCBhdWRpby92aWRlbyBmaWxlcywgc3ByZWFkaW5nIHNsYW5kZXIvbGllcywgYW5kIHJ1ZGUsIGluc3VsdGluZyBvciBkZXJvZ2F0b3J5IGxhbmd1YWdlIHRvd2FyZHMgdXNlcnMvc3RhZmYuIiwiY29sb3IiOjE2Nzc1MTU5fSx7InRpdGxlIjoiIzEwIDpmYWNlX3dpdGhfc3ltYm9sc19vdmVyX21vdXRoOiDrrLTroYDtlZjqsowg7ZaJ64+Z7ZWY64qUIO2WieychOuKlCDqt7gg7Ja065ag7ZWcIOyxhOuEkOyXkOyEnOuPhCDtl4jsmqnrkJjsp4Ag7JWK7Iq164uI64ukLiIsImRlc2NyaXB0aW9uIjoiLSDsl6zquLDsl5DripQg6rOg66eJIO2FjOufrCwg7Kec7Kad64KY64qUIOyGjOydjCDrsI8g67mE66qFLCDtl4jsnIQg7IKs7IukIOycoO2PrCwg6re466as6rOgIO2DgOyduOydhCDtlqXtlZwg66qo7JqVIOuwjyDsmpXshKTrj4Qg7Y+s7ZWo65Cp64uI64ukLiIsImNvbG9yIjoxNjcxMTY4MH1dLCJ1c2VybmFtZSI6IkNhcHRhaW4gSG9vayIsImF2YXRhcl91cmwiOiJodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9lbWJlZC9hdmF0YXJzLzAucG5nIn19XX0=

the json

{
    "messages": [
        {
            "data": {
                "content": "lol",
                "embeds": [
                    {
                        "title": "**#6 :abcd: Disrupting and baiting the chat is not allowed.**",
                        "description": "- This includes text spam, copy-pasted text walls and spoiler baiting to make others believe its a banned word.\n- Excessive unnecessary pings, overuse of caps/text formatting and unnecessary usage of the Support Bot are also to be avoided.",
                        "color": 16775159
                    },
                    {
                        "title": "**#6 :abcd: 낚시글 등으로 대화를 방해하는 행위는 금지됩니다.**",
                        "description": "- 여기에는 스팸, 복사하여 붙여넣은 장문, 불필요한 멘션, 그리고 오해할 여지가 있는 스포일러들도 포함됩니다.",
                        "color": 16711680
                    },
                    {
                        "title": "#7:bust_in_silhouette: Having a username/profile picture/status/Game Activity that contains any violation of our rules is prohibited.",
                        "description": "- This also includes impersonation of Staff members (Having an identical profile picture and username/nickname).",
                        "color": 16775159
                    },
                    {
                        "title": "#7 :bust_in_silhouette: 사용자명이나 프로필 사진, 사용자 지정 상태, 게임 활동에 저희의 규칙을 위반하는 내용이 있어서는 안됩니다.",
                        "description": "- 여기에는 저희의 직원을 사용자명이나 프로필 사진 등으로 사칭하는 것도 포함됩니다.",
                        "color": 16711680
                    },
                    {
                        "title": "#8 :telephone: Unsolicited advertising (through voice, text channels, or DMs) is prohibited.",
                        "color": 16775159
                    },
                    {
                        "title": "#8 :telephone: (음성, 텍스트 채널, 개인 메세지 등으로) 저희가 청하지 않은 내용의 광고들은 금지됩니다.",
                        "color": 16711680
                    },
                    {
                        "title": "#9 :speaking_head: Accusing someone for breaking rules in public chats is prohibited.",
                        "description": "- Instances of such are considered defamatory. If you have any proof, contact a Staff member privately about it and we will handle the situation accordingly.",
                        "color": 16775159
                    },
                    {
                        "title": "#9 :speaking_head: 누군가가 규칙을 어겼다고 공개 채팅방에서 고발하는 행위는 금지되어있습니다.",
                        "description": "- 명예훼손으로 간주되므로, 만약 누군가가 규칙을 어긴 증거가 있으시다면 저희 직원 분들중 한 분에게 개인 메세지로 신고해주세요.",
                        "color": 16711680
                    },
                    {
                        "title": "#10 :face_with_symbols_over_mouth: General toxic behaviour is not allowed in any channels.",
                        "description": "- This includes, but is not limited to, earrape, loud/annoying noises and screams in voice chats and posted audio/video files, spreading slander/lies, and rude, insulting or derogatory language towards users/staff.",
                        "color": 16775159
                    },
                    {
                        "title": "#10 :face_with_symbols_over_mouth: 무례하게 행동하는 행위는 그 어떠한 채널에서도 허용되지 않습니다.",
                        "description": "- 여기에는 고막 테러, 짜증나는 소음 및 비명, 허위 사실 유포, 그리고 타인을 향한 모욕 및 욕설도 포함됩니다.",
                        "color": 16711680
                    }
                ],
                "username": "Captain Hook",
                "avatar_url": "https://cdn.discordapp.com/embed/avatars/0.png"
            }
        }
    ]
}

Code blocks color

When switching the theme from dark theme to light theme, the codeblocks and inline codeblocks stay white.
image

Update:

This only happens for codeblocks in embeds.

Share doesn't work

Dear Discohook Developer,
the function Share Message doesn't work. I don't know why you did https://:8020/go/. I hope you will fix this.

image

Feature Request: Allow for different pictures and embed hex colours per webhook URL

image

It would be useful to allow for an option to be able to specify the embed hex colour and the "avatar URL" of the bot sending the webhook for each different URL. This would allow users to send the same webhook, but be a little more personalised based on the channel the webhook is made for.

I have attached an image highlighting what this may look like.

An unexpected error has occurred

TypeError: n is null
Tt@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:28337
ro@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:72362
Qu@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:124820
Pi@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:111996
xi@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:111924
_i@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:111785
vi@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:108751
yl30/Hl/<@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:58130
+wdc/t.unstable_runWithPriority@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:3875
Wl@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:57907
Hl@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:58077
Ql@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:58010
fi@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:106120
No@https://discohook.org/_next/static/chunks/framework.857da1de2e24ee48c169.js:1:77689
23aj/je/_/w.current<@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:8176
Tt@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:28194
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
section
AoO4/_/<@https://discohook.org/_next/static/chunks/fc5e03b174268d1cfe7c7db55c37a14477e1716b.d6fa6fd223ff4588838a.js:1:31862
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
je@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:7754
Ut@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:29654
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
section
AoO4/_/<@https://discohook.org/_next/static/chunks/fc5e03b174268d1cfe7c7db55c37a14477e1716b.d6fa6fd223ff4588838a.js:1:31862
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
je@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:7754
rn@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:34964
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
div
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
yn@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:42225
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
Nn@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:51111
div
main
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
div
C@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:129686
Un@https://discohook.org/_next/static/chunks/pages/index-218c2832f68b94329476.js:1:53522
n@https://discohook.org/_next/static/chunks/pages/_app-62f24fbf0ae7db995ad4.js:1:33574
Ee@https://discohook.org/_next/static/chunks/commons.a4e2ab40edb9e1e8c882.js:1:127757
w@https://discohook.org/_next/static/chunks/fc5e03b174268d1cfe7c7db55c37a14477e1716b.d6fa6fd223ff4588838a.js:1:44823
n@https://discohook.org/_next/static/chunks/pages/_app-62f24fbf0ae7db995ad4.js:1:63792
r@https://discohook.org/_next/static/chunks/main-bfea75885db319d2966b.js:1:4749
fe@https://discohook.org/_next/static/chunks/main-bfea75885db319d2966b.js:1:9034
he@https://discohook.org/_next/static/chunks/main-bfea75885db319d2966b.js:1:11422

UI: Thread ID Input

An extension to feature request #59

While thread_id is now supported as a URL parameter, it was recommended to put an individual Thread ID input field to avoid the need for users to manually append ?thread_id=0000000000000000 to their webhook URLs, and to help make it obvious to users that threads are now supported.

This is it's own issue due to the original issue hopefully being resolved after PR #64 is merged.

Help

what is the basic path to host it on a domain via iis?

Feature Request:

The ability to so called "bookmark" the web hook message thing and make it download the bookmarks in browser cache??

Text formatting keyboard shortcuts

The site should have some basic keyboard shortcuts for the text inputs.

  • Ctrl + B -> Bold
  • Ctrl + I -> Italic
  • Ctrl + U -> Underline

Things to consider:

  • macOS, how does command key work?

Scheduling messages

Is it possible to add a planner? kind that we configure so that it is sent at a specific date & time?

Files not included in shares

When sharing a message using the Share Message button (or copying the URL), all uploaded files are lost. This is probably because these files are not cached on the server, but are sent directly to Discord when the message is sent. Maybe you could add an option when sharing to store these files on the server for a certain period of time to include them in the share.

Embeds issue with JSON editor

Description:
Pasting JSON into a new message doesn't properly update the embed in the editor, the whole embed is empty.
This issue doesn't happen with the content or the profile.

How to reproduce:

  1. Create an embed with content in it
  2. Copy the entire JSON of the message
  3. Add Message
  4. Paste and apply the JSON into the new message
  5. The new embed is now empty

Feature Request : Load emoji from server

As it is now, when you need to use a server's custom emoji you need to write down their full name <:discohook:736648398081622016> which is troublesome.

Is it in any way possible to have a list of emojis of a given server to make insertion easier ?

Attachment management

The current Discohook file features are heavily outdated compared with Discord API features.

Despite it's allowed by API you cannot remove or replace message attachments. Every time when you click Edit a new attachment adds to message.

The message could be synchronized with attachments:[] field, but then you should reupload files every time when you want to edit a message.

The ideal solution is to fetch previously sent message using referenceUrl to get current attachments. With that you could easily replace and remove attachments with attachments:[...] fields in PATCH payload.

Add color/date picker to input fields

Would it be possible to get a color picker for the color input box something like this would be nice
image and a date/time picker for the timestamp input box just to make things easier?

Cannot import very large backups

To reproduce:

  1. Create and export a backup exceeding 45kb in size
  2. Import the exported JSON file
  3. Observe that nothing happens

This is a severe bug, as without support for shortlink and direct link sharing due to Cloudflare limitations, this prevents moving large chains of webhook messages from Local Storage at all. If export and sharing very large messages is deprecated anyways, this should be reflected in the editor beforehand.

Footer Dates are Shown Differently In Discohook

Hi,

I've been using Discohook a lot now and I've found this tool very useful! I did find a formatting issue with dates though.

Expected Output (Discohook)

image

Here's Discohook's output when I set the date to be 2 days from now. It says Thursday at 12:00 AM.

Actual Output (Discord)

image

Instead of showing Thursday at 12:00 AM, Discord shows 12/03/2020 with no day or time.

Although I wished that the dates were represented as how you programmed it in, Discord is different. From my understanding, I believe you'd like to fix any inconsistencies. Let me know if you need anything else!

text-size different per theme

In the dark theme the visualizers title is bigger but in the light theme it's smaller
light theme
image
dark theme
image

this issue is also present when using a link for the title vs no url.

On the light theme It should be bold like it shows in the dark theme image
and on both themes shouldn't have the text wrapping

Compact mode text is shifted left in codeblocks

When you have compact view enabled the text in a codeblock in the message content is displayed outside of the codeblock floating to the left.
image

Reproducible code is

```
function foo(bar)
```

Font error

Dear discohook,
my problem is the font then on my pc it looks really really bad (See picture).
With kind regards,
CnyAnime

image

discohook utils error

the date and time I program the embed message does not work, it is sent after 1 or 2 minutes, does anyone have a solution?

Docker build fails on clean build

Docker build docker build . -t discohook fails at

RUN BUILD_ID=${BUILD_ID} yarn build

 => ERROR [builder 9/9] RUN BUILD_ID=${BUILD_ID} yarn build                                                                                                                                                                                                             4.5s
------
 > [builder 9/9] RUN BUILD_ID=${BUILD_ID} yarn build:
#14 4.081 Browserslist: caniuse-lite is outdated. Please run:
#14 4.081 npx browserslist@latest --update-db
#14 4.081 
#14 4.081 Why you should do it regularly:
#14 4.081 https://github.com/browserslist/browserslist#browsers-data-updating
#14 4.308 (node:34) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /app/node_modules/next/node_modules/postcss/package.json.
#14 4.308 Update this package.json to use a subpath pattern like "./*".
#14 4.308 (Use `node --trace-deprecation ...` to show where the warning was created)
#14 4.371 
#14 4.372 > Build error occurred
#14 4.376 Error: spawn git ENOENT
#14 4.376     at Process.ChildProcess._handle.onexit (node:internal/child_process:285:19)
#14 4.376     at onErrorNT (node:internal/child_process:485:16)
#14 4.376     at processTicksAndRejections (node:internal/process/task_queues:83:21) {
#14 4.376   errno: -2,
#14 4.376   code: 'ENOENT',
#14 4.376   syscall: 'spawn git',
#14 4.376   path: 'git',
#14 4.376   spawnargs: [ 'rev-parse', 'HEAD' ],
#14 4.376   cmd: 'git rev-parse HEAD'
#14 4.376 }
------
executor failed running [/bin/sh -c BUILD_ID=${BUILD_ID} yarn build]: exit code: 1

Firefox Attachment Issue

I am having this weird sizing issue on the site when I have multiple messages with files attached
image

And if I zoom all the way out
image

It seems to happen around inserting the 3rd or 4th file but might depend on browser size.

Enhancement: Move webhook messages in editor

The ability to swap the places of messages in the editor would be nice, so that if something needs to be inserted between other ones, you don't have to copy-paste the raw JSON around (which is currently broken for embeds anyways, see #46). Conflicts with the edit by link feature can be remedied by warning the user that the messages won't be in order if the user swaps messages while edit links are active.

Refreshing a long chain of messages will cause a "Connection Closed" error unless loading from local storage

To reproduce:

  1. Create a long chain of messages in Discohook that results in the URL expanding to very large lengths (45k characters in my case)
  2. Refresh Discohook
  3. Observe ERR_CONNECTION_CLOSED

This is a serious issue because it can cause unexpected data loss unless a backup is made. Additionally, loading data from URL is generally bad practice too since it can cause massive lag in the browser when address bar autofill is active.

[Question] Future plans

Hello, recently I've started a fork to create a CMS-like tool for communities.
I'm trying to build even more native Discord experience with these features:

  • post rules & news and edit them subsequently
  • link preview
  • pickers for emoji, channel, role, etc
  • multi-message post

I assume users will use my version as addition to existing collaborative tools such Google Docs.

Your last huge update met my first goal. Do you plan to implement similar features? What's on the roadmap?

Share feature: 502 Bad Gateway

To reproduce:

  1. Create a long chain of messages in Discohook that results in the URL expanding to very large lengths (45k characters in my case) (related to #53)
  2. Create a shortlink via the "Share" button
  3. Open shortlink
  4. Observe 502 Bad Gateway error from Cloudflare

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.