{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "AutoMod Blog",
  "description": "Posts regarding anything and everything under the AutoMod umbrella.",
  "home_page_url": "https://automod.vale.rocks/blog",
  "feed_url": "https://automod.vale.rocks/blog/feed.json",
  "icon": "https://automod.vale.rocks/assets/favicons/AutoMod_Favicon.svg",
  "favicon": "https://automod.vale.rocks/assets/favicons/AutoMod_Favicon.svg",
  "items": [
    {
      "id": "https://automod.vale.rocks/blog/hello-tangled-goodbye-github",
      "url": "https://automod.vale.rocks/blog/hello-tangled-goodbye-github",
      "title": "Hello Tangled, Goodbye GitHub",
      "content_html": "<div class=\"markdown-alert markdown-alert-note\">\n<p class=\"markdown-alert-title\"><svg class=\"octicon octicon-info mr-2\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"></path></svg>Note</p>\n<p>TL;DR: What does this change mean for the average AutoMod end-user? Nothing. What does this change mean for contributors and self-hosters? You&#39;ll need to <a href=\"#for-contributors-and-self-hosters\">migrate some stuff</a>.</p>\n</div>\n<p><a href=\"https://git-scm.com\">Git</a> is a version control system created by Linus Torvalds (the creator of Linux) in the mid-2000s. A version control system is fairly simple. You create/edit/delete/modify/etc files, and the changes are tracked, such that you can view what is different. A version control system (VCS) is useful because it allows one to inspect the history of modifications, revert to previous versions, and collaborate with others effectively. It helps to prevent conflicts and data loss while making projects easier to manage.</p>\n<p>GitHub is a Git forge, meaning that it provides a hosted environment for people to collaborate on Git repositories. GitHub has been owned by Microsoft since 2018, and overall Microsoft has done a reasonable job managing it. Unfortunately, however, in recent years it has grown buggy, new feature releases have slowed, AI has been thrust upon the user base, and service availability has suffered. The past few months have been particularly bad.</p>\n<p>Due to these reasons, and also as part of my continued effort to reduce dependency on services run and managed in the United States of America, it has come to a point where it is worth considering different options. After weighing the alternatives, I&#8217;ve settled on <a href=\"https://tangled.org\">Tangled</a>, which is where future AutoMod, AutoFeeds, and AutoDice development will occur.</p>\n<h2 id=\"tangled\">Tangled</h2>\n<p>Tangled is a Git forge built upon the <a href=\"https://atproto.com\">AT Protocol</a> and is part of the &#8216;Atmosphere&#8217;, which includes <a href=\"https://bsky.social/about\">Bluesky</a>, <a href=\"https://npmx.dev\">npmx</a>, <a href=\"https://leaflet.pub\">Leaflet</a>, and a plethora of other services. It is all wonderful and interoperable, so one account works across them all. It is a really exciting prospect of a social internet.</p>\n<p>I&#8217;ve been weighing up options for a while and have had Tangled on my radar since it launched just over a year ago. I have faith in the project&#8217;s future, and in the case it does turn out to be a dud, the nature of the AT Protocol and Tangled&#8217;s construction will make moving in the future easy.</p>\n<p>The new repositories are as follows:</p>\n<ul>\n<li><a href=\"https://tangled.org/vale.rocks/AutoMod\">https://tangled.org/vale.rocks/AutoMod</a></li>\n<li><a href=\"https://tangled.org/vale.rocks/AutoFeeds\">https://tangled.org/vale.rocks/AutoFeeds</a></li>\n<li><a href=\"https://tangled.org/vale.rocks/AutoDice\">https://tangled.org/vale.rocks/AutoDice</a></li>\n</ul>\n<h2 id=\"for-contributors-and-self-hosters\">For Contributors and Self-Hosters</h2>\n<p>If you&#8217;re looking to contribute to any of the bots, then you will note that development now takes place over on Tangled, rather than GitHub. It has the same pull request and issue system; it&#8217;s just somewhere else. You will need an account on the Atmosphere to contribute. Everything is very similar to the GitHub experience.</p>\n<p>If you&#8217;re self-hosting AutoMod, AutoFeeds, or AutoDice, you&#8217;ll need to point your clone of the repository to the new origin on Tangled. It is a single-command process to switch the origin, and the updating guidance in the self-hosting documentation has been amended to guide you through it:</p>\n<ul>\n<li><a href=\"https://automod.vale.rocks/docs/automod/self-hosting#updating\">AutoMod self-hosting documentation</a></li>\n<li><a href=\"https://automod.vale.rocks/docs/autofeeds/self-hosting#updating\">AutoFeeds self-hosting documentation</a></li>\n<li><a href=\"https://automod.vale.rocks/docs/autodice/self-hosting#updating\">AutoDice self-hosting documentation</a></li>\n</ul>\n<h2 id=\"migration\">Migration</h2>\n<p>Rome wasn&#8217;t built in a day, and a house isn&#8217;t moved in a day (a few boxes can remain unopened for years!). I&#8217;m not intending to drag out this process, but I also have no intention to rush it or bodge it. <em>Move slow, and better things.</em></p>\n<p>The migration will occur as follows:</p>\n<ul>\n<li><input checked=\"\" disabled=\"\" type=\"checkbox\"> Place the repositories for AutoMod, AutoFeeds, and AutoDice on Tangled, but still mirror to GitHub.</li>\n<li><input checked=\"\" disabled=\"\" type=\"checkbox\"> Indicate on GitHub that the repositories are moving.</li>\n<li><input disabled=\"\" type=\"checkbox\"> Update documentation all over the web to point to Tangled rather than GitHub.</li>\n<li><input disabled=\"\" type=\"checkbox\"> Migrate over issues/pull requests.</li>\n<li><input disabled=\"\" type=\"checkbox\"> Migrate the roadmap to the AutoMod website.</li>\n<li><input disabled=\"\" type=\"checkbox\"> Cease mirroring of the repositories to GitHub and archive them.</li>\n</ul>\n",
      "summary": "The plans and processess for AutoMod, AutoFeeds, AutoDice, and future bots to move from GitHub to a new Git forge, Tangled. Addresses migration and information about why the move is necessary the decision behind choosing Tangled over alternatives.",
      "date_published": "2026-05-10T04:00Z"
    },
    {
      "id": "https://automod.vale.rocks/blog/introducing-autodice",
      "url": "https://automod.vale.rocks/blog/introducing-autodice",
      "title": "Introducing AutoDice",
      "content_html": "<p>Are you and your warlock, wizard, and bard friends off to kill a dragon? Or are you perhaps a cyborg with three arms and a wish to destroy the oligarchy controlling the current dystopia?</p>\n<p>Regardless of your quest, you&#8217;re in luck, for AutoDice is here to facilitate all your Stoat role-playing needs.</p>\n<p>What is &#8216;Auto&#8217; about AutoDice? Nothing, but I&#8217;ve evidently started a brand here, and I&#8217;ve got to see it through. We&#8217;ll say that the dice are autonomous in that they require no physical rolling. Yeah, that&#8217;s the justification.</p>\n<h2 id=\"rolling-the-dice\">Rolling the Dice</h2>\n<p>AutoDice intends to cover most of the cases that tabletop role-playing games need dice for, so it is very comprehensive in functionality. However, it is also simple to get started with and use for basic needs.</p>\n<p>Let&#8217;s take a simple roll to start with. Say you want to roll a six-sided die; you&#8217;d run: <code>@AutoDice d6</code>.</p>\n<p>If you wanted to roll ten six-sided die, you&#8217;d run: <code>@AutoDice 10d6</code>.</p>\n<p>Say you wanted to roll ten six-sided die, five times, you&#8217;d run: <code>@AutoDice 5 10d6</code>.</p>\n<p>If you wanted to add 5 to the result of the rolls, you can do some addition: <code>@AutoDice 10d6 + 5</code>. AutoDice also supports subtraction (<code>-</code>), multiplication (<code>*</code> or <code>x</code>), and division (<code>/</code>).</p>\n<p>Rolling a dice multiple times and want to sort the results? Suffix <code>s</code> or <code>sa</code> to sort by ascending, or suffix <code>sd</code> to sort by descending. For example, <code>@AutoDice 10d6sd</code> to do 10 rolls of a six-sided die and sort the results by descending.</p>\n<p>Certain games require more complex dice control, and AutoDice won&#8217;t leave you hanging.</p>\n<p>If you need to roll multiple dice and only keep the lowest result, you can suffix <code>kl1</code>. You can change that number based on how many you&#8217;d like to keep. If you&#8217;d like to only keep the highest, you can suffix <code>kh1</code>. Perfect for rolling with advantage or disadvantage in games like Dungeons and Dragons.</p>\n<p>Exploding dice are also supported (rejoice, Shadowrun players), where rolling the highest number on a die allows for an additional roll of the same die. That can be done by suffixing <code>!</code> like so: <code>@AutoDice 5d10!</code>.</p>\n<p>If you want to reroll any dice that exceed or don&#8217;t reach a certain value, you can. To reroll if a result is less than three, you&#8217;d suffix <code>r&lt;3</code>.</p>\n<p>All of these features can be chained together as well. For example, you could run <code>@AutoDice 5d20kl2r&lt;4</code>, meaning roll a twenty-sided die five times, keeping only the two lowest results above four.</p>\n<p>And, of course, if you&#8217;re in need of sneaky results away from the rest of the party&#8217;s prying eyes, you can roll the dice directly into your DMs by prefixing your command with <code>dm</code>, <code>secret</code>, <code>priv</code>, or <code>private</code>. For example, <code>@AutoDice secret d6</code>.</p>\n<hr>\n<p>To add the bot to your server, you <a href=\"https://stoat.chat/bot/01KHB7M1ETS332GBQVXPYH58K2\">just have to invite it</a>. Make sure you ensure it has permission to see and send messages in required channels! If you forget any syntax, you can always get the rundown with <code>@AutoDice help</code>.</p>\n<p>I suppose the announcement of this bot also proves good news for those of a gambling persuasion, so to such people I wish to advise responsible usage.</p>\n",
      "summary": "Introduction of a dice bot for Stoat that is perfect for people playing tabletop role-playing games (TTRPGs) and other role-playing or dice-oriented games. Has support for a number of complex features, including multirolls, mathematics, exploding dice, advantages and disadvantages, and most other features. Perfect for people playing games like Dungeons & Dragons.",
      "date_published": "2026-02-13T11:10Z"
    },
    {
      "id": "https://automod.vale.rocks/blog/introducing-autofeeds",
      "url": "https://automod.vale.rocks/blog/introducing-autofeeds",
      "title": "Introducing AutoFeeds",
      "content_html": "<p>AutoFeeds is a new syndication feed bot for Stoat that supports RSS, Atom, and JSON feeds. If you don&#8217;t know what any of that means, hold on &#8211; I&#8217;ll explain it in a moment.</p>\n<p>The main thing is that AutoFeeds lets you subscribe to all sorts of web content, such as Reddit posts, YouTube videos, blog articles, and so much more in your server. Whenever new content is posted, the bot sends a message in a channel of your choice. It is a great way to keep up with happenings all over the web from the comfort of your Stoat community.</p>\n<h2 id=\"what-are-syndication-feeds\">What are syndication feeds?</h2>\n<p>RSS stands for Really Simple Syndication. It is a format that has been around since 1999 and provides a standardised way to receive updates from websites. So-called RSS feeds can be subscribed to through a range of means and allow you to stay up-to-date without jumping all over the web to check each individual site and platform you&#8217;re interested in.</p>\n<p>There are also other formats that do the same thing as RSS but slightly differently. The two other main formats are Atom and JSON Feed. AutoFeeds has support for all of these formats and you shouldn&#8217;t really need to worry yourself about the format of a feed in use.</p>\n<p>For a fuller explanation of syndication feeds, you can read the details on <a href=\"https://vale.rocks/syndication\">my website&#8217;s syndication page</a>.</p>\n<h2 id=\"examples-of-feeds\">Examples of Feeds</h2>\n<p>AutoFeeds works with a huge number of sites. Some platforms that provide RSS, Atom, and JSON feeds include:</p>\n<ul>\n<li>YouTube (Channels)</li>\n<li>Bluesky (Profiles)</li>\n<li>Reddit (Subreddits and users)</li>\n<li>Tumblr</li>\n<li>Medium</li>\n<li>Mastodon</li>\n<li>GitHub</li>\n<li>SoundCloud</li>\n<li>Letterboxd</li>\n<li>Goodreads</li>\n<li>DeviantArt</li>\n<li>Behance</li>\n<li>Substack</li>\n<li>Vimeo</li>\n<li>Kickstarter</li>\n<li>Lobsters</li>\n<li>Hacker News</li>\n<li>Flickr</li>\n<li>The Stoat Blog</li>\n</ul>\n<p>That isn&#8217;t to say AutoFeeds only works with these platforms. AutoFeeds will accept any valid RSS, Atom, or JSON feed. In many cases AutoFeeds will still be able to detect feeds associated with a site by just providing it a link to that site. It is worth noting that this does require that the site <a href=\"https://blog.jim-nielsen.com/2021/automatically-discoverable-rss-feeds/\">has everything configured correctly</a>, so it doesn&#8217;t work all of the time.</p>\n<p>If a feed can&#8217;t be auto-discovered, you can try to find it yourself. Keep an eye out for an orange wireless symbol (), which is the universal icon for RSS. You can also often find feed links in site footers. If you can&#8217;t find feeds those ways, you can also try to perform a search for &#8216;{site name} RSS feeds&#8217; in your favourite search engine.</p>\n<h2 id=\"subscribing-to-this-blog-with-autofeeds\">Subscribing to this blog with AutoFeeds</h2>\n<p>As an example of how AutoFeeds works, I&#8217;ll show you how you&#8217;d subscribe to this AutoMod blog in your server. By subscribing, AutoFeeds will send a new message each time a new blog post is released.</p>\n<ol>\n<li><p>The first step is to add AutoFeeds to your server. You can use <a href=\"https://stoat.chat/bot/01HZNFJK4C23AJE95JWY0JXB18\">this invite link</a> to add it.</p>\n</li>\n<li><p>The next step is ensuring the bot has the necessary permissions required to send and receive messages in your Stoat server. You can do this by assigning the bot a role and setting the permissions of that role. This process is similar to <a href=\"https://automod.vale.rocks/docs/setup\">the steps for setting up AutoMod</a>.</p>\n</li>\n<li><p>Now you&#8217;ve got things configured, you may start using the bot. To get an overview of the bot&#8217;s commands and check everything is working as it should be, you can run the command <code>@AutoFeeds help</code>, which will cause the bot to output some documentation.</p>\n</li>\n<li><p>As you&#8217;ll see from the output of the help command, there is a command to add a feed. To add the feed of this blog, we&#8217;ll need to provide it as an argument, like so: <code>@AutoFeeds add https://automod.vale.rocks/blog/feed.xml</code>. AutoFeeds should then tell us the feed has been added to our current channel.</p>\n</li>\n</ol>\n<p>Assuming there were no issues or errors during the process, everything should now be set up. The next time a post is published on this blog, AutoFeeds will send a message notifying you about it in the channel. Handy! To remove the feed, you&#8217;d run the removal command: <code>@AutoFeeds remove https://automod.vale.rocks/blog/feed.xml</code></p>\n<p>To get a list of all feeds currently subscribed to in the current channel, you can use <code>@AutoFeeds list</code>. To manually fetch new items from a specific feed, you can use <code>@AutoFeeds check &lt;feed_url&gt;</code>.</p>\n<p>If something didn&#8217;t work, you&#8217;re stuck, or just a little bit confused, feel free to pop into <a href=\"https://stt.gg/automod\">the AutoMod server</a> so we can give you a hand.</p>\n",
      "summary": "Introduction of the AutoFeeds bot for Stoat, which allows being notified of new content being published to RSS, Atom, and JSON syndication feeds directly in your Stoat server. The bot allows fetching posts from big social media platforms like Bluesky, YouTube, Reddit, GitHub, and many more.",
      "date_published": "2026-02-11T10:30Z"
    },
    {
      "id": "https://automod.vale.rocks/blog/end-of-year-2025",
      "url": "https://automod.vale.rocks/blog/end-of-year-2025",
      "title": "End of Year 2025",
      "content_html": "<p>Another year has come and gone, and AutoMod perseveres. It has been a big year for the wider Stoat platform, what with <a href=\"https://automod.vale.rocks/blog/revolt-is-stoat-now\">the rebrand</a>, launching of new apps, and assorted new features.</p>\n<p>I&#8217;d have liked to have done more work on the bot over the year, but commitments and circumstances out of my control limited me somewhat. That isn&#8217;t to say nothing got done though, and the bot is now in a much better place than it was at 2024&#8217;s conclusion.</p>\n<h2 id=\"reviewing-changes\">Reviewing Changes</h2>\n<p>The year started with a reintroduction of <a href=\"https://automod.vale.rocks/docs/automod/commands/moderation/purge\">the purge command</a>, which had previously been removed due to a breakage upstream in Stoat itself.</p>\n<p>In February, I launched this site complete with a full set of documentation. Several commands, including <a href=\"https://automod.vale.rocks/docs/automod/commands/configuration/logs\">the logging command</a>, got full overhauls. We also hit 100K users in AutoMod&#8217;s cache!</p>\n<p>In May, <a href=\"https://automod.vale.rocks/docs/automod/commands/moderation/role\">the role command</a> was added, the filter functionality got some significant fixes, and the ability to bulk add items to and remove items from the filter was added. May also brought about AutoFeeds, a syndication feed bot that supports RSS, Atom, and JSON feeds, which I proceeded to test off and on throughout the year.</p>\n<p>In July, I <a href=\"https://automod.vale.rocks/blog/introducing-the-automod-blog\">launched this AutoMod blog</a>, hugely improved <a href=\"https://automod.vale.rocks/docs/automod/commands/moderation/infractions\">the infraction command</a>&#8217;s output, and overhauled <a href=\"https://automod.vale.rocks/docs/commands/moderation/nick\">the nickname command</a>.</p>\n<p>In August, AutoMod&#8217;s cache hit a significant 150K users.</p>\n<p>Throughout the year, I also engaged in some ongoing efforts that weren&#8217;t user-facing. Many commands were modified to make them more accessible to screen-readers, and more intuitive for all users. The bot&#8217;s architecture was tweaked to make it easier to develop and host, and Redis was switched out in favour of Valkey following Redis&#8217; change in licence.</p>\n<p>These changes brought about significantly improved stability, and there were plenty of tiny alterations made to fix niggles and address upstream changes.</p>\n<p>A lot of these changes went a long way in terms of making the project reasonable to work on and set a good foundation for the upcoming year.</p>\n<h2 id=\"financials\">Financials</h2>\n<p>This year, AutoMod cost $150.15 AUD to run. This number is entirely hosting costs and doesn&#8217;t factor in my time or labour, nor the registration fees for the domain &#8216;vale.rocks&#8217;. Throughout the year, the hosting costs slowly trended upwards as a result of fluctuations in the exchange rate between the Australian Dollar and the Euro, which is the currency chosen by the server host Hetzner.</p>\n<p>Google Finance Australian Dollar to Euro exchange rate:</p>\n<p><img src=\"https://automod.vale.rocks/assets/images/aud_to_euro_2025.avif\" alt=\"Graph showing the exchange rate between the Australian Dollar and the Euro throughout the year. Starts at 0.60, then dives to 0.54 in April, before jumping back to 0.58 in late May, then fluctuating between 0.55 and 0.57 for the rest of the year with a slight trend up.\"></p>\n<p>In return, I received a total of $54.40 AUD in AutoMod-directed user support, which means that AutoMod cost me $95.75 AUD out of pocket to run this year. If you&#8217;re so inclined and in a position to do so, <a href=\"https://vale.rocks/support\">your financial support would be much appreciated</a>.</p>\n<h2 id=\"looking-forward\">Looking Forward</h2>\n<p>As it stands at present, AutoMod is protecting almost 6,000 servers containing some 65,000 channels and over 179,000 users. At the start of the year, these numbers were roughly 4,600 servers containing 47,000 channels and less than 100,000 users. This year has been a boom for AutoMod, and the current counts are pretty significant. I&#8217;m grateful for everyone who uses and trusts AutoMod to protect their communities.</p>\n<p>Back in August, I <a href=\"https://github.com/users/DeclanChidlow/projects/1\">created a project roadmap for AutoMod</a> to enable more focused, deliberate development and to ensure that efforts align with community expectations. I&#8217;ll be adhering to this roadmap into 2026 and updating it with further items as they occur to me or are requested. Beyond the roadmap, I also intend to get AutoFeeds into a full production state ready for general usage.</p>\n<p>I look forward to continuing my efforts to refine the bot, adding the features that you request, and making Stoat a more stable and secure place for all.</p>\n",
      "summary": "AutoMod's annual report for 2025 discussing changes made throughout the year, including iterative improvements and new features, as well as financial details and plans for the coming 2026.",
      "date_published": "2025-12-28T07:00Z"
    },
    {
      "id": "https://automod.vale.rocks/blog/revolt-is-stoat-now",
      "url": "https://automod.vale.rocks/blog/revolt-is-stoat-now",
      "title": "Revolt is Stoat Now",
      "content_html": "<p>As of publication today, Revolt has rebranded to Stoat, after the exceedingly cute mustelid native to Eurasia and northern North America. You might have noticed most of the references to Revolt across the AutoMod site have already switched over.</p>\n<p>The sudden rebrand was spurred by a cease and desist letter, hence the somewhat hastily concocted shambles. You can read <a href=\"https://stoat.chat/updates/long-live-stoat\">the full post on the Stoat blog</a> with further details.</p>\n<p>If you&#8217;re wondering what this means for AutoMod and other bots under the AutoMod umbrella going forward, don&#8217;t be worried. AutoMod isn&#8217;t going anywhere and will continue to be hosted and developed as it has been.</p>\n<p>In the days following the rebrand and publication of this post, you might encounter some service degradation of AutoMod as things are updated and moved over. Please be aware this is temporary and largely a result of upstream changes being made by the Stoat team.</p>\n<p>Most bot features and functionality will continue to work and operate exactly as they have in the past. If there are any major changes, you&#8217;ll be the first to know.</p>\n<p>Things will certainly be shaky, but we&#8217;ll work through it. If you have any questions, feel welcome to swing by the <a href=\"http://stt.gg/automod\">AutoMod Stoat server</a>, and I&#8217;ll do my best to assist you.</p>\n<p>Thanks for sticking with us as I work through this.</p>\n",
      "summary": "Revolt has rebranded to Stoat, which affects AutoMod in a few ways. AutoMod won't be going anywhere but may be shaky for a little while following the rebrand as things are rearranged.",
      "date_published": "2025-10-01T01:30Z"
    },
    {
      "id": "https://automod.vale.rocks/blog/no-text-only-emojis",
      "url": "https://automod.vale.rocks/blog/no-text-only-emojis",
      "title": "No Text, Only Emojis",
      "content_html": "<p>Working on AutoMod is a fair effort, and while rewarding, not exactly the most joyous experience of my life. While working on AutoMod&#8217;s <a href=\"https://automod.vale.rocks/docs/automod/commands/configuration/filter\">filter functionality</a>, I found myself thinking of fun filter possibilities.</p>\n<p>Thus, the idea for a server that only permits emoji was born. But how to enforce it? AutoMod isn&#8217;t quite tailored for this sort of filtering unless I were to manually add every single potential allowed emoji, so I decided to spin the concept off into something separate. Chucking it together over the course of an hour or so, I made a quick little bot which I dubbed &#8216;Emoji Enforcer&#8217; and an associated server titled &#8216;Emoji Only&#8217;.</p>\n<h2 id=\"why\">Why?</h2>\n<p>It is a fun little experiment to have people communicate with only emojis, and it is a great chance for people to show off their favourite emojis from across Revolt. Revolt doesn&#8217;t lock animated emotes behind paywalls, and all emotes are global, so it is a perfect platform in that regard.</p>\n<p>While the idea of only permitting emojis in a communication context certainly isn&#8217;t a new one (<a href=\"https://emoj.li\">Emojli</a> pops to mind), I believe mine is the first of its kind on Revolt. There is a certain fun to trying to convey meaning with <em>only</em> emojis. Take, for example, the rules in the Emoji Only server. I conveyed them entirely with emoji:</p>\n<blockquote>\n<p>🟥❌ 🔡<br>🟥❌ 😠<br>🟥❌ 🔞</p>\n<p>🟩✔ 🙂<br>🟩✔ ♥</p>\n</blockquote>\n<p>Perhaps a little bit more difficult to understand than text, but certainly legible. When the bot had a short outage recently, I posted &#8216;🤖 ⬇&#8217;, which can quite plainly be interpreted as &#8216;bot down&#8217;. It is interesting to see people use emojis as a language of its own and the issues the subtle inconsistencies between emojis across platforms cause.</p>\n<h2 id=\"overzealous-handling\">Overzealous Handling</h2>\n<p>I&#8217;ve received many complaints and confused messages from users unsure why their carefully constructed emoji correspondence was deleted by the bot. The usual culprit was whitespace. When sending emojis, both Revolt and most touch keyboards attempt to add a space after them to ensure things don&#8217;t look too cluttered. As spaces aren&#8217;t emojis, the messages were deleted. It was a very similar case for new lines.</p>\n<p>This proved annoying for people trying to post large batches of emojis or trying to make art over multiple lines. People have tried all sorts: putting eyes on one line, a nose and ears on the next, and then lips, with them all aligned with spaces. Unfortunately, the bot didn&#8217;t take kindly to this.</p>\n<p>Thus, I&#8217;m happy to announce that with the publication of this post, the bot now tolerates whitespace and new lines. I&#8217;m looking forward to seeing what emoji creations people make, <em>and I better not get any hate mail from emoji purists.</em></p>\n<hr>\n<p>If you&#8217;re interested in inspecting the bot&#8217;s code, you can do so <a href=\"https://tangled.org/vale.rocks/emoji-enforcer\">on Tangled</a>.</p>\n<p>If you want to get in on the emoji action, <a href=\"https://stt.gg/Dm4F4ctA\">join the server</a>.</p>\n<p>Now go forth and express yourselves! 🎨🔤🚫</p>\n",
      "summary": "Some notes on the AutoMod-adjacent Emoji Enforcer bot, which only permits sending emojis and deletes any text sent in the channels it monitors. It is used on the Emoji Only server on Revolt.",
      "date_published": "2025-08-26T03:00Z"
    },
    {
      "id": "https://automod.vale.rocks/blog/introducing-the-automod-blog",
      "url": "https://automod.vale.rocks/blog/introducing-the-automod-blog",
      "title": "Introducing The AutoMod Blog",
      "content_html": "<p>Welcome to the first instalment of the AutoMod blog &#8211; or, if you will, AutoBlog. You won&#8217;t? Well, that&#8217;s too bad.</p>\n<p>This blog will provide an opportunity to publish notes, updates, and reflections on the ongoing development of AutoMod. The intent is to allow communities to remain up-to-date with all things under the AutoMod umbrella at their own pace and in the form they choose.</p>\n<p>You can expect all sorts of stuff here. It&#8217;ll serve as a changelog &#8211; a changeblog, if you might so humour me &#8211; detailing both new features and alterations to existing ones, as well as a place to document development miscellany such as engineering challenges and interesting observations.</p>\n<p>Previously, musings like this have been announcements or discussions in the AutoMod Revolt server. This isn&#8217;t necessarily a bad thing, but does come with some disadvantages that this blog alleviates.</p>\n<p>Revolt messages are limited in character count, difficult to syndicate, and locked behind a Revolt login. They&#8217;re also inaccessible to users who are banned from the AutoMod Revolt server, which is inconvenient for those who are still allowed to use the bot but can&#8217;t access the server.</p>\n<p>One of the goals of this blog is to make any technical posts accessible for non-technical folks. That isn&#8217;t to say that technical posts will be lessened to the lowest common denominator, just that, where possible, they&#8217;ll be written in such a way that everyone can benefit from them &#8211; not just the nerds.</p>\n<p>While posts will be polished, they&#8217;ll also be a tad informal and honest. The goal isn&#8217;t generic PR speak but instead genuine and interesting updates that you&#8217;ll hopefully be able to take something away from. Transparency is the intent.</p>\n<p>Posts will vary in both length and frequency, with new ones being released only when there is something to say &#8211; no filler here!</p>\n<p>If you&#8217;d like to follow this blog, the site has syndication feeds:</p>\n<ul>\n<li>RSS feed: <a href=\"https://automod.vale.rocks/blog/feed.xml\">https://automod.vale.rocks/blog/feed.xml</a></li>\n<li>JSON feed: <a href=\"https://automod.vale.rocks/blog/feed.json\">https://automod.vale.rocks/blog/feed.json</a></li>\n</ul>\n<p>If there&#8217;s something you&#8217;d like to see covered, get in touch through <a href=\"https://stt.gg/automod\">the AutoMod server</a>, <a href=\"https://vale.rocks/contact\">my personal contact page</a>, or the comments below. Looking forward to hearing from you!</p>\n",
      "summary": "An introduction to the new AutoMod blog and a description of its purpose as a central source for updates, changes, product launches, and assorted AutoMod-related musings.",
      "date_published": "2025-07-31T01:43Z"
    }
  ]
}