Verify your Discord server members and check if they have specified app on their Steam library! Give them roles on successfull verification and punish them if they don't have it in their library!
š§ This bot has power to kick or ban your users if they can't verify themselves. Please use it on your own risk and make sure to run some tests before using it on your server!
Please make sure to read all of the README.md (this) file before starting to use the bot.
NEW
Multiple Steam APP verification: You can check for more than one app in user's library!When a user joins to your server, bot will check if they somehow got the sucess roles. If they have it, bot won't do anything. But if they don't have the specified roles, it'll start the verification process and send the user a message including your API's URL.
The user will be asked to login to their Steam account and then they'll see this page:
The time they click "Yes", they'll send a POST request to another route and it'll send a request to Steam's API to get user's games list, and it'll try to find the specified application ID(s) in user's library.
If API finds the application(s) in their library, it'll fire a successfull verification event so bot will get the signal and continue the progress. If user doesn't have the item(s), same way API will fire a failure event and bot will check your penalty settings. It'll kick the user if it's set to kick and it'll ban the user if it's set to ban. Don't worry, you can choose not to do anything or bypass the user with bypass
command.
When user that is in the verification queue leaves the server, they'll be removed from the queue automatically. Bot will notify you when user's DMs are disabled so you will know which users didn't get the message.
If API can't reach the data, it'll show an error box to the user with the message you specified to tell them that they got some issues with their profile (it's mostly caused when profile is set to private). YES user needs to have a public Steam profile so bot API can check the user's library.
That's all, but please do not forget this is not the "best version" of what you want. You may be looking for a better product but you're very welcome to contribute! I'll be looking forward to your pull request and bug reports! Please feel free to get in contact with me from my website and check out m other projects too!
ā Caution! This project has no database so all of you could easily setup and start using the project, you can edit your clone to have a database or wait for me to create another branch with a version that includes database connection. Your verification queue will be lost unless you back it up with command or auto-backup feature when you restart the bot or something happens. And your settings won't be available until you restart the bot! So make sure to set your config and everything, test it on a private server and then start using it on your main server! If you are looking for a way to prevent scam accounts and verify all new members, you may take a look at this bot.
This bot requires Node.js, TypeScript, pnpm, a Discord Bot Application, Steam API Key and a Node.js hosting service (e.g. Hop.io, Railway, Fly.io) to install.
š” Make sure to enable "Message Content Intent" & "Server Members Indent" in your bot's application page in Discord Developer Portal.
git clone https://github.com/eggsydev/discord-steam-verification
pnpm
cd
to your clone folder.pnpm i
in your terminal.config.example.ts
file in src/
directory as you wish. Rename the file to config.ts
after you're finished..env.example
, fill the fields and rename it to .env
(all fields are explained in comments, make sure to put the right app ID(s)).pnpm dev
pnpm build
pnpm start
You will now have your very own discord-steam-verification
bot and API running! Invite your bot to your server and it'll start verifying new users!
Please create an issue!