Publish Discord Bots page
All checks were successful
Sync gmem.ca / sync (push) Successful in 33s

This commit is contained in:
Gabriel Simmer 2024-08-11 13:08:49 +01:00
parent ef59b8efea
commit 8d8c11a433
Signed by: arch
SSH key fingerprint: SHA256:m3OEcdtrnBpMX+2BDGh/byv3hrCekCLzDYMdvGEKPPQ

63
gmem.ca/discord-bots.html Normal file
View file

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="Arch's Discord Bots">
<title>Discord Bots | arch.dog</title>
<link rel="stylesheet" href="./styles.css">
</head>
<body>
<main>
<h1>Discord Bots</h1>
<p>Over time, I write Discord bots to do various small tasks for servers.
You may also find them useful!</p>
<section>
<h2>DupliKate <small>track duplicate links</small></h2>
<p>
It's fairly common for the same link to be shared by multiple members over the
course of a day or week. DupliKate keeps track of links posted and notifies a
member if they post the same link in a channel as someone else in the last week.
<a href="https://discord.com/oauth2/authorize?client_id=1253304869947707468"><strong>invite!</strong></a></p>
<details><summary>Demo</summary>
<div style="position: relative; padding-top: 63.83467278989667%;">
<iframe
src="https://customer-zfvj02miabg1w5iq.cloudflarestream.com/245f2a15721d75411bd70173e0532dd5/iframe?poster=https%3A%2F%2Fcustomer-zfvj02miabg1w5iq.cloudflarestream.com%2F245f2a15721d75411bd70173e0532dd5%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600"
loading="lazy"
style="border: none; position: absolute; top: 0; left: 0; height: 100%; width: 100%;"
allow="accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture;"
allowfullscreen="true"
></iframe>
</div>
</details>
<p>
Links are stored as a SipHash string (link-channel_id) associated with the message
ID and server ID. This is to enable checking duplicate links while not revealing
the link itself. No other information is stored.
</p>
</section>
<section>
<h2>Nitter Bot <small>translate twitter links to nitter</small></h2>
<p>
These days it's usual to use a Twitter embed fixer like fxtwitter or vxtwitter
when linking Twitter content for a better embed experience. This bot provides the
<code>/nitter</code> command to parse and post a link to a Nitter instance
(nitter.gmem.ca), along with prefetching the page to cache it ahead of time.
<a href="https://discord.com/oauth2/authorize?client_id=1225778028983095296"><strong>invite!</strong></a></p>
<details><summary>Demo</summary>
<div style="position: relative; padding-top: 63.83467278989667%;">
<iframe
src="https://customer-zfvj02miabg1w5iq.cloudflarestream.com/f2fee5254419c86fae637569a939fcf3/iframe?poster=https%3A%2F%2Fcustomer-zfvj02miabg1w5iq.cloudflarestream.com%2Ff2fee5254419c86fae637569a939fcf3%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600"
loading="lazy"
style="border: none; position: absolute; top: 0; left: 0; height: 100%; width: 100%;"
allow="accelerometer; gyroscope; autoplay; encrypted-media; picture-in-picture;"
allowfullscreen="true"
></iframe>
</div>
</details>
<p>This bot does not store any information directly. The Nitter instance in use contains
a custom patch to more aggresively cache posts to avoid rate limiting.</p>
</section>
</main>
</body>
</html>