discordrss Documentation
Here it is, the documentation for the discordrss bot I made.
What is discordrss?
discordrss is a bot I made in Python that converts specified messages on Discord to RSS feeds. I made this because personally I prefer RSS feeds to checking other feed-based social media, Discord included. This is intended for those who own discord servers that have an announcements/updates/etc channel that you want people to see.
How to Get This Bot
To be able to use this bot normally, please contact me here via email to get your server whitelisted. I am hosting this bot as a Software As A Service (SAAS) for $1 CDN per month per server, or a simplified version for $10 CDN (one-time payment). If you choose to get the monthly option, I will host it on my own personal server, and all RSS files will be hosted on my website. An example URL would look like: https://husseinesmail.xyz/discord/861234793736134656/general.xml (not a valid URL, RSS file always takes the name of the channel it reads). I know the URL doesn't look nice, but there are also link-shortening services that you can put your RSS links in so other people can type it into their RSS readers more easily if that's an issue for you. You would also receive any updates that I write after I inform you when the bot would be down via email. Note that if you choose to get the one-time option, you would have to host it yourself for it to work, and you would not get any updates that I write.
Monthly Plan ($1 CDN/server/month):
- New features as they come out
- Hosted by yours truly (both the bot and the RSS files)
One-time Plan ($10 CDN):
- You receive a Python file to run the bot
- Bot would have to be repurchased to get new features
- You must host the bot and the RSS files yourself
After your server is whitelisted by me, you can add the bot using this link. If you try to use it without permission, I will be notified and the bot will remove itself.
Setting Up This Bot
Here's how to set up posting using this bot:
- If you haven't given me your Discord server ID, please do so because I will need this to whitelist your server on this bot. You can find it by going to "Server Settings > Widget > Server ID"
- Once you have received confirmation that your server is whitelisted, you can now install the bot to your server using this link.
- If the bot does not automatically leave after the first message it sees, that means it is whitelisted. You can now type ":config new" to create a configuration file.
- If you don't want your #general channel to have an RSS feed, you can type ":config change approved_channels" and then whatever channels (as text without the '#'). For example, if you want #announcements and #updates to be RSS channels, you can type ":config change approved_channels announcements updates". Note that when you type this and there are already channels you have to keep, you have to retype them because this overwrites what was already there.
- If you don't want literally everyone to be able to add to the RSS feed if they post in the approved channels, you can edit these settings: "approved_users" and "approved_roles". When changing these, both the roles and users must be tagged. If someone matches either of these, then their posts will also go to the RSS feed. If someone has an approved role but isn't in approved_users, they can post to the RSS feed.
- At this point you can now make an RSS feed by posting in the correct channel. Each time it posts to RSS, it will give a message after it does.
- To change the RSS feed title, type ":config change defaults_rss_title" and then the new title. It will change the title of the RSS feed and will automatically update for everyone who refreshes it onwards.
At this point, your config file should be ready to use.
How to Post Using This Bot
To post an item to your RSS feed, you should to configure a few things (which each require their own :config lines like before). To set the title of the RSS post, you can type ":config change defaults_rss_title 'title without these quotation marks'". The way this program works, is that it always looks to the config file. If you write another post without changing the title, it uses the same title. The same goes for the post URL, which is where people can click to find out more information about what they're reading about in the RSS post. If there isn't a URL people can go to, you could put the homepage to your site or Google or something. To change the post URL before posting, you can type ":config change defaults_rss_title URL".
In short:
- Change Title Before Posting: ":config change defaults_rss_title 'title without these quotation marks'"
- Change URL Before Posting: ":config change defaults_rss_title URL"
Other Configurations
- :help - Print the help message (which will lead you )
- :config new - Create a config file for your server.
- :config list - List all your config data.
- :config change prefix_char {char} - Change the character
- :config change emoji_to_alt {boolean} - Whether to use alt text instead of emojis in RSS posts (Recommended: true).
- :config change shorten_links {boolean} - Whether to shorten links in RSS posts to the domain name but hyperlink to the full link.
- :config change rss_one_per_channel {boolean} - Whether to send messages from all allowed channels to one RSS file titled rss.xml. Note that this will not affect past posts, and will change the URLs new posts go to which will affect the end-users.
- :config change approved_channels {channels} - List of text channels (as text with no '#' characters) you want to be changed. Note that if rss_one_per_channel is false, it will use new files. If there are already channels that are already in your config and you want to keep in, you have to type it again in this command.
- :config change approved_users {users} - List users (as tags separated by a space) you want to be able to post to RSS feed (when they post in the approved channels). Note that these users do not have to have an approved role. If there are already users that are in your config and you want to keep in, you have to type it again in this command.
- :config change approved_roles {roles} - List roles (as tags separated by a space) you want to be able to post to RSS feed (when they post in the approved channels). Note that these users with any of the roles do not have to have to be one of the approved users (if they have an approved role, that is enough). If there are already roles that are in your config and you want to keep in, you have to type it again in this command.
- :config change defaults_article_url {URL} - URL link that will be included in every RSS post until changed.
- :config change defaults_rss_title {string} - Title of the RSS feed. This will automatically update for everyone after they refresh it themselves too.
- :config change defaults_rss_post_title {string} - Title of the RSS post. This will be the title for all further posts until it is changed again. This was designed for you to change it before each post.
- :hide_links {...} - If you are posting to RSS feed and this post contains links that should not be shared to the public, you can type this command and then the rest of the message and it will hide any links you write here in the RSS post.
- :exclude {...} - If a user who is allowed to post to RSS feed and posts in the designated channel but does not want it to go to the RSS feed, they can type this command and then the rest of the message.
Issues or Feature Requests
For those having issues or if you have a feature request, please send me an email! If you want to support me hosting this bot, you can buy me a coffee (but I'll actually use it for my VPS bill).
Legal
I, Hussein Esmail am not responsible for any illegal activity that may occur on the RSS feeds that are hosted by me. The responsibility would fall upon the sender of said messages and the moderators of the Discord server they originate from.