sarah
Our website — sarah project's website
Welcome to the main site of the sarah project, a general purpose, configurable and highly reliable discord bot made entirely in pure JavaScript with only a few dependencies. Sarah is totally open source software, so feel free to contribute and make the changes you want to this project's source code. Also, if you like this project and want to help us in an indirect way, please give us a star, we will really appreciate it.
In the following steps, we'll guide you through the (very easy) process of installing the sarah bot in your discord server and deploying it. installation
To install sarah in your favourite server, first you will have to fork this repository by clicking the fork button, after that, wait for a while until the process is completed and you will have succesfully forked the sarah repository. Forking and installation
After forking sarah, you will have to configure it, this can be done by editing the Configuration
./sarah/settings/settings.json
module with your favourite code editor. You must fill in all the properties.
And finally, you will just have to set up your deployment workflow (we personally recommend Bot deployment Heroku) and your bot will be successfully deployed.
Adding custom commands to the server is also an easy task, you only have to follow those three instructions: Adding more commands
- Firstly, you need to create its own JavaScript module in the
./sarah/commands/
directory, which must be called[command].js
. - Then, write the command program within its main function, which must be called
[command]cmd
and must recieve five arguments:message, args, client, _, __
(the last two arguments are useless, but your function must recieve them; otherwise it will generate an error). - And finally go to the
commands
section of thesettings.json
module and add your command there as an object with the following properties:
- name:
string
- desc:
string
- path:
string
- admin:
bool
- state:
0
or1
- log:
bool
- logicon:
string
- logmsg:
string
- logcolor:
string
The sarah bot comes by default with a wide variety of useful commands for your server, which we are detailed below. With this purpose in mind, we would like to detail the notation used below: commands
-
s!
will be the default prefix in this notation. -
s!command [param]
means this command requires a parameter. -
s!command (param)
means this command supports an optional parameter. -
👮 s!command
means this command can only be run by administrators
-
👮 s!ban [user]
: When you insert a tag after the command, you ban the pinged user. -
👮 s!kick [user]
: When you insert a tag after the command, you kick the pinged user. -
👮 s!cls [number]
: If you write a number between 1-250 after typing this command, you delete that number of msgs. -
👮 s!lock (channel)
: If you type this command on a channel, that channel gets locked. -
👮 s!unlock (channel)
: If you type this command on a channel, that channel gets unlocked. -
👮 s!warn [user]
: When you insert a tag after the command, you warn the pinged user. -
👮 s!unwarn [user]
: When you insert a tag after the command, you unwarn the pinged user. -
👮 s!warns (user)
: The bot sends an embed with the warndes users in every server it is. -
👮 s!wjson
: The bot sends a JSON object with the warned users in every server it is. -
👮 s!setwarns [file]
: Given an attached JSON file, the server warnings will be replaced by the given in that file. -
👮 s!shutdown
: Just shutdown the bot until theturnon
command is called. -
👮 s!turnon
: Turns on the bot again. -
s!ping
: Simply replies withpong
. -
s!help
: This command shows you sarah's commands. -
s!pf [user]
: If you ping a user before the command, you see his/her profile photo. -
s!cmds
: You're actually using this command. -
s!bans
: The bot sends a list with all the banned users. -
s!ascii [text]
: The bot sends a beauty text. -
s!meme
: Sends a random meme. -
s!userinfo [user]
: The bot sends an embed with the user's properties. -
s!srvinfo
: The bot sends an embed with the server's properties. -
s!rand (number) (number)
: The bot sends a random number between a given interval. -
s!dice
: The bot sends a random number from0
to6
. -
s!develop
: The bot sends an embed with the commands wich are on development. -
s!emojis
: The bot sends an embed with all of this server's exclusive emojis. -
s!ytsearch (text)
: Searches YouTube for a video related to the given query.
license
Copyright (c) 2022 dotted software
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.