Discord not displaying images you serve yourself?

If you’re experiencing issues with Discord not displaying images you server yourself from some kind of web server, the answer could be as simple as including the CA chain bundle when you setup the server.

I was having problems with my Discord/Twitch bot being unable to serve images into Discord (that is to say if I posted a link to an image served by the bots web server) it wouldn’t render… could be a link posted in chat or a link in an embed.

Because I’m used to working primarily with self-signed certificates where the CA bundle is about as much value as the certificate itself in the eyes of many, I’ve never included it when setting up an HTTP Server instance in Node.JS.

This singular action appears to be the difference between Discord loading my images and not. I have just modified the setup to include the CA bundle when creating the server and now all of my images appear to load properly within Discord.

So moral of the story… include all the certificate files you get shipped when you buy an SSL certificate đŸ™‚ If you don’t you’re probably going to be disappointed when Discord doesn’t render your images. Hope this little nugget helps someone out and saves you trying to figure out what’s going on.

Utility – RenameWindow

This is a little utility for renaming windows. The purpose is primarily to provide known titles to allow programs such as OBS to find the window reliably. A couple of example of where this can be used are Notion and Discord.

Both applications have dynamic window titles which means even if you select the ‘Match title, otherwise find window of same executable’ match priority OBS may struggle to find it.

Enter ‘renamewindow.exe’… a small console application that is designed to find and then set the title of windows. Searches can use the EXE name, the title and the window class.

Source code is available on Github along with some instructions.

The exe and a sample configuration file are available here.

AI helpers… useful tool or serious security issue?

The ads for Grammarly are slowing but surely gnawing away at my soul with their frequency… I’ve seen numerous people mention some fancy ‘AI plugin’ for VS Code that helps you with your coding and now Speechify, which helps you by reading your documents and emails using AI so you can get more done.

Great, some useful applications of technology that can clearly help you out. But in my mind, these apps and similar raise nothing but security concerns for me.

Continue reading “AI helpers… useful tool or serious security issue?”

Let’s talk about StreamElements…

First up, I’d like to be clear… I moved from StreamLabs to StreamElements because I felt it offered a better overall product offering. This is not a complaint about the portion of their product that most people will use (i.e. the overlays, the store, merch etc.) but I do have a big gripe about the API, specifically the lack of good, clear supporting documentation.

So, if you’ve tried to engage with their API and have been struggling, read on as there may be some nuggets here that will help you. This is by no means a comprehensive reference, but it is a rundown of the issues I’ve faced and overcome in writing my StreamElements interface for Delphi.

Continue reading “Let’s talk about StreamElements…”

Connecting Node.js to Streamelements Websockets

If you’re planning on using the Streamelements Websockets service to receive realtime notifications of things like tips, merch purchases and stream store redemptions (it can also do follows, cheers, raids, hosts and subs for Twitch), you may find information is a bit thin on the ground, so here’s a quick guide to getting connected using TypeScript and Node.js.

Continue reading “Connecting Node.js to Streamelements Websockets”

Why? Case sensitivity in software source code

In case it’s not clear from my moniker, in the world of software development Delphi is my preferred weapon of choice and if you’re not familiar with it (you should be), the underlying language is Pascal. I’ve been using Pascal for over 30 years, in this time of COVID-19 lockdown I’ve been using my time to learn Typescript, brush up on modern Javascript and familiarise myself with the Node.js ecosystem.

Continue reading “Why? Case sensitivity in software source code”

Happy Birthday Delphi – 25 Today!

The year, 1995. Windows 3.1 was the current Microsoft operating system running on the family’s 486sx 25MHz with 4MB of RAM. Turbo Pascal 7 was my weapon of choice but of course it couldn’t produce Windows applications… yes there was Turbo Pascal for Windows and Borland Pascal but they both required lots of boiler plate code to make windows and interact with the OS (Nightmare). And then it happened…

Continue reading “Happy Birthday Delphi – 25 Today!”