Code Monkey home page Code Monkey logo

discord-bot's Introduction

ice-bot

Formatted HitCount David GitHub Discord GitHub forks GitHub contributors

Discord Bots

About

Universal discord bot to suite all of your needs.

Want to use Ice? Invite link can be found on ice's website.

Setting up

The setup is quite simple:

  • Grab latest release and extract the contents somewhere on the disk
  • Install dependencies (See #dependencies)
  • Aquire token (from discord developer portal) and save it in config.json as token
  • Create managers/mysql.js that exports pool (see wiki)
  • Create MySQL databse with correct tables. (See wiki)
  • Start the bot (with node .)

Then optionaly if you want to have link checking, add virustotal field into config.json containing VirusTotal api key.

Dependencies

  • Node (Tested with v12 & v13. Running on another version? Let us know!)
  • NPM (bundled with Node on modern releases)
  • Deno - Use as new version as possible. Needs to be installed by same user as the one running bot.
  • (optional) Git (or even better, hub) for simple updates - run one command and your bot is up to date

Node dependencies

Those are installed with npm i automatically. Note: these aren't all dependencies, for list of all, see package.json

  • discord.js -> discord library GitHub package.json dependency version (prod)
  • @iceprod/discord.js-commando -> the framework we use GitHub package.json dependency version (prod)
  • discord.js-docs -> searches through documentation GitHub package.json dependency version (prod)
  • pacote -> searches through npm registry GitHub package.json dependency version (prod)
  • cowsay -> a library for cowsay command GitHub package.json dependency version (prod)
  • eventemitter3 -> better event emitter class GitHub package.json dependency version (prod)
  • got -> because request got deprecated GitHub package.json dependency version (prod)
  • javascript-time-ago -> yes, we are lazy to reinvent the wheel GitHub package.json dependency version (prod)
  • mysql2 -> connection to MySQL GitHub package.json dependency version (prod)
  • nekos.life -> Cute catgirls nekos GitHub package.json dependency version (prod)
  • node-html-parser & cheerio -> because not every website has an API GitHub package.json dependency version (prod) GitHub package.json dependency version (prod)
  • pokedex-promise-v2 -> Promises for pokedex GitHub package.json dependency version (prod)
  • unique-random-array -> for our reddit command GitHub package.json dependency version (prod)
  • vm2 -> secure VM for code evaluation GitHub package.json dependency version (prod)
  • singleline -> allows multiline strings GitHub package.json dependency version (prod)
  • ffmpeg -> music playback coder GitHub package.json dependency version (prod)
  • ytdl-core -> for music playback GitHub package.json dependency version (prod)
  • figlet -> for rendering ascii command GitHub package.json dependency version (prod)

Non-command related features

Message previews

Messages can be previewed by sending a link to it. If ice has access to the server and channel the message was in, it will send an embed containing information about the message.

Commands

The bot has as of now the following commands

Anime

  • konachan - Safe version of konachan
  • nekos <endpoint> - Wrapper to nekos-dot-life API (SFW)
  • safebooru - It's safe, but just to make sure...
  • sofurry - Gives random image from sofurry. Please don't use this in non-furry servers
  • waifu - Random AI-generated waifu + story

Balance

This category is yet to be done.

  • balance - shows current balance of user
  • pay <amount> <who> - Not yet implemented. Sends <amount> to <who>
  • mine - Mines the daily amount. Can be called every 12 hours.
  • premium - Shows if you have premium access or not

Dev

This category is for developers who are working on discord. Hope it helps!

  • apm - Gets information of Atom Text Editor Package
  • bang (alias ddg) - Sends info from duckduckgo instant answer or link from bang
  • deno - Full deno runtime. Limit of 15 seconds. Only network allowed.
  • djs - Searches through Discord.js documentation
  • php - Searches through PHP documentation
  • dstatus - Shows status of discord servers
  • jseval - Evaluates given JS code. Has a limit of 10 seconds, running in NodeVM without access to require.
  • format - Formatting guide
  • google - Google it!
  • code - Shows information about given HTTP code. Supports some non-official ones. Thanks Wikipedia!
  • logme - Shows message metadata in JSON format.
  • npm - Gets information about given package
  • request (alias req)- Makes request. See req help
  • format - Shows formatting help
  • stackoverflow (alias so) - Searches in SO and shows both question and answer

Essentials

  • achievments - Shows which achievments you currently own
  • avatar - Shows your or someone else's (Ping 'em!) high-res avatar7
  • covid - Shows covid statistics
  • fact - Gets a random fact
  • invite - Link to invite the bot
  • math (alias calc or calculate) - Calculates given math expression and returns the result. See mathjs.org
  • oldest - Shows list of users ordered by the time of registration at discord
  • ping - Pings the discord API and shows how much time it consumed
  • puppy - Because everyone likes images of puppies
  • reddit - Shows random image from given subreddit. If not on image-only subreddit, bot may not reply as of now.
  • voted (Alias vote) - Checks status of user vote and if user didn't vote, shows link.

Fun

  • ascii (alias figlet) - Figlet text, also known as ascii-art text
  • cow - The original cowsay/cowthink
  • clap - Clapify given message
  • cool - Cools something
  • cowsay - Make cow say or think text
  • dab - <o/
  • joke - Random joke of given type. If no type provided, uses random
  • leet Leetify message
  • lenny - Everyone knows what's lenny
  • reddituser - Shows info about reddit user (disabled until fixed)
  • say - Make the bot say anything you want
  • spoiler - Annoying spoilers
  • subinfo - Shows info about reddit subreddit
  • urban [alias ud] - Find the meaning in the Urban Dictionary
  • vaporwave - Vaporify string

Games

  • skin - Shows minecraft skin of given player.
  • poke - Pokemon commands, see poke help

Image

  • fone - Uses happyfone API
  • meme - Generates memes. Usage: meme <photo/link to avatar> [top text] [bottom text]
  • qr (alias qrcode) - Generates QR Code from given text
  • xkcd - Shows todays xkcd comic

Mod

  • allow-channels - Allows usage of bot only in specified channels.
  • toggle-level - Toggles level up messages.
  • announce - Make an announcement in the same channel. Admin only.
  • ban - Bans user
  • case - Shows info about case (warn/kick/ban).
  • clearsettings - Clears bot data about current server. THIS ACTION IS IRREVERSIBLE
  • count - Counts members
  • editreason - Edits reason about specified case
  • giveaway - Starts a giveaway
  • history - Shows users history (kicks/bans/warns).
  • info - Info about author or given user
  • kick - Kicks user from the server
  • log - Log settings, not yet done.
  • purge <x> <delete report (true/false)> - Purges last x messages
  • role - Manages roles. See help.
  • stats - Stats of ice bot
  • warn - Warns user

Music

  • join - Joins the bot to voice channel you are currently in.
  • jump - Jumps to selected position in queue.
  • leave - Leaves the voice channel
  • pause - Pauses playback
  • play - Starts playing queue
  • stop - Stops playing queue
  • remove - Removes song from queue
  • resume - Resumes playback
  • shuffle - Shuffles queue
  • skip - Skips current song (accepts number as argument, any integer value allowed)
  • view - Views current queue
  • volume - Sets or gets volume of playback (in %)

NSFW

These commands are premium only (and aren't in this repository)

  • booru <booru> - Random image from specified booru
  • danbooru - Random image from danbooru
  • gelbooru - Random image from gelbooru
  • hypnohub - Random image from hypnohub
  • konachan-lewd - Highquality wallpapers
  • nekos-lewd - Not so safe endpoints of nekos.life
  • realbooru - Realistic version of rule34
  • rule34 - Well you should know what this is
  • xbooru - The dirty sister of rule34
  • yandere - Random yandere image

Special

This category contains owner-only commands

  • blacklist - Doesn't yet work
  • guilds - List guilds

discord-bot's People

Contributors

ccsleep avatar kiry0 avatar marcosnasa avatar noahmanscher avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.