Display your Discord information - neofetch style!

Overview

discord-neofetch

View your Discord information, neofetch style!

Add to your server

Add Neofetch Bot

Demo

Here's a demo of the bot

Demo

FAQs

  • Hmm. What's this?

This is the Neofetch bot, a really cool bot that allows you to view your Discord information, right in Discord, neofetch style. Complete with fully customizable prompts and ascii distros, this is every developer's dream come true.

  • Why would I even need this?

Because everybody absolutely loves Neofetch, a command-line tool that displays your system information. This bot is a hobby project of mine, and I, inspired by the orginal CLI tool, wanted to make a visual Discord version of it.

Also you get to show off your favorite distro (looking at you arch btw users).

  • How does it even work?

Alright, so Discord recently added ANSI escape codes to codeblock messages, which means that you can 'colorize' your output an style it whichever way you want. This bot takes advantage of this feature, and works around with the color codes using chalk to produce a neofetch-like colored output.

Unfortunately, mobile support for ANSI codes haven't been added yet, but fear not! There's a button called --mobile that outputs a mobile friendly view of the information. Alternatively, you can use the /neomobile command too!

  • What sort of information is displayed?

Here's a list of the information that is displayed:

Name Description
Username The author/user's tag (eg: Wumpus#0001)
ID The author/user's unique Discord ID
Created The date on which the user/author's account was created
Is Bot Checks if the user/author is a bot
CPU Usage* CPU Usage count, similar to neofetch
Shell* Distro specific shell
Packages* Package count, with the appropriate distro specific package manager

Fields marked with a * are randomized values and do not directly depend on the Discord API

  • What distros are supported?

Here's a list of distros that this bot supports. Choose any one you'd like:

Name Value
Discord (Default) discord
Arch Linux arch
Fedora fedora
Manjaro manjaro
Mint mint
Pop!_OS popos
Ubuntu ubuntu
Android android
CentOS centos
Debian debian
Elementary elementary
Gentoo gentoo
MacOS macos
Windows windows

All the above distros and their ascii arts have been ported from dylanaraps/neofetch.

  • What prompts are supported?

Here's a list of prompts that this bot supports. Choose any one you'd like:

Name Value
Default (Default) default
Pristine pristine
AFMagic afmagic
Candy candy
Zap zap
Percent percent
Wuffers wuffers

All the above prompts have been ported from ohmyzsh/ohmyzsh.

  • What commands are available?

Here's a list of commands that are available:

Command Description
/neofetch The main neofetch command.
Used to display the neofetch-ed information of the author
or the user mentioned, in accordance with their set distro and prompt.
Also displays a set of neofetch-like, non-Discord related info,
such as the number of packages, shell, etc.
/neomobile A mobile version of the neofetch command.
/neoconf distro Customize your distro from a list of options.
/neoconf prompt Customize your prompt from a list of options.
/info Display relevant information about the bot.
/help View a list of bot commands.
/invite Display an invite link to add your bot to your server.
  • Are there slash commands?

Absolutely! Check them out by typing in /help. Legacy commands aren't supported though, as they have been deprecated.

  • Cool bot, can I add it to my server?

Of course you can! Just click this link and select the server of your choice.

  • Why is the code so bad?

Because we need you! A number of contributors are helping to expand and improve the code base. Why don't you join us?

  • How can I contribute?

Just check out the Issues pane for potential issues and submit a PR to solve them. Of course, you can always contribute to the inprovement of the code, and I'd be happy to accept your PRs!

Support

You can support further development of this bot by giving it a 🌟 and help me make even better stuff in the future by buying me a


Also, if you liked this repo, consider checking out my other projects, that would be real cool!

Attributions and special thanks

Comments
  • ANSI color codes don't work when in production

    ANSI color codes don't work when in production

    Currently, the bot uses chalk-template for the ANSI escape codes, and node:fs for rendering the ascii arts right, but apparently, after the bot was hosted on Railway, none of the above stuff worked.

    The ascii arts aren't aligned correctly too, here's a picture for demo purposes: image

    Not sure what the issue is, might be because I used node:fs instead of fs, but should not affect anything, I guess. Or maybe chalk-template's colors are somehow stripped and don't show up for some reason in production.

    Edit: no change as of commit 0294780d896c1ed97eeb5ab0edb8d0af0d3580eb Edit 2: no change as of commit 1cf120ed94389e684c785401823f6082ca5b224f

    bug help wanted 
    opened by savioxavier 2
  • Fix Chalk error

    Fix Chalk error

    This PR is a fix to an issue

    Closes #1 (hopefully)

    Description

    • Used a custom Chalk class with a custom level (level 2) to enforce terminal styling. Usually chalk would try to detect if the terminal supports color. If it doesn't it would disable color by setting the color level to 0, which would remove all styling. What I've done here is override the custom chalk level using a custom Chalk class, with options { level: 2 } to force colors to display in the terminal

    Changes

    • Use a custom Chalk class with custom options
    • Remove chalk-template as it is no longer needed
    opened by savioxavier 1
  • feat: use pino for logging and improve linting

    feat: use pino for logging and improve linting

    Description

    This pull request aims to introduce two new features to this project:

    opened by savioxavier 0
  • Add buttons to main neofetch command and few other fixes

    Add buttons to main neofetch command and few other fixes

    This PR adds/updates the following stuff:

    • Buttons for the main neofetch command
    • Surround blocks with try/catch
    • Buttons for the info command
    • Update embed avatar images
    • …and a few other fixes

    Kept the /neomobile command for mobile users, even though there is a button for that now

    opened by savioxavier 0
  • Known issues and required features

    Known issues and required features

    Bot is currently kinda unstable (due to bad code) and needs a few fixes

    • [ ] Better interaction handling. Bot usually crashes due to an "Unknown Message" error (and usually restarts, thanks to Railway) but that's a problem that needs to be fixed
    • [ ] Better error handling, due to errors like "Unknown Interaction" and "Unknown Message" crashing the bot, I had to pass empty catch statements all over the code, which is bad practice really
    • [ ] Button interaction error: interactions usually fail sometimes. Not good.
    • [ ] Better slash command deployment handling. Currently the bot registers slash command on every run in production and I'm not really sure if that's a good idea. For some reason, I couldn't execute two scripts in succession in Railway, even with a process.exit() in the code to move on to the next script
    • [x] A proper logger (eg: pino)
    • [ ] Command cleanup and refactoring
    • [ ] A few bug fixes. A lot of bug fixes

    If you do know how to fix these issues, please submit a PR, that would be much appreciated.

    opened by savioxavier 5
A simple & easy2use API for obtaining information about a discord user, discord bot or discord guild and their use for some purpose on websites!

discord-web-api A simple & easy2use API for obtaining information about a discord user, discord bot or discord guild and their use for some purpose on

InvalidLenni 2 Jun 28, 2022
Cyrus is a Discord Bot with focus on Fun, Moderation, information and much more commands! Made it with Discord.js

Cyrus Cyrus is a Discord Bot with focus on Fun, Moderation, information and much more commands! Made it with Discord.js Invite : Click here Vote : Top

null 4 Dec 3, 2022
About Discord bot draft that does not contain ready-made commands, compatible with discord.js v14. Create your own discord bot with this command handler.

discordJS-V14 About Discord bot draft that does not contain ready-made commands, compatible with discord.js v14. Create your own discord bot with this

Umut Bayraktar 36 Dec 28, 2022
Discord-Bot - You can use the discord bot codes that are updated in every video of the codes I use in the discord bot making series that I have published on my youtube channel.

Discord-Bot You can use the discord bot codes that are updated in every video of the codes I use in the discord bot making series that I have publishe

Umut Bayraktar 114 Jan 3, 2023
Discord Neura - a Discord bot framework built on discord.js

Discord Neura Description Discord Neura is a Discord bot framework built on discord.js. Features Command Handler, Arguments, Preconditions and Listene

Discord Neura 3 Mar 23, 2022
Gitlift Discord Bot is a discord bot which is listening Discord Messages to reply with user gitlift profile and total contributions.

Remoklify - Gitlift Discord Bot Gitlift Discord Bot is a discord bot which is listening Discord Messages to reply with user gitlift profile and total

Remoklify 3 Mar 20, 2022
A discord bot made using discord.js and discord-player

Musx A custom discord bot that can play music in your server ?? Add the bot to your server If you are looking for a music bot for your Discord server

Shashwat Singh 4 Mar 28, 2022
Co-Pilot is a discord Bot designed to be the all-in-one, open-source Discord bot that handles all your server needs.

Welcome to Co-Pilot Bot repo! ?? ?? Co-Pilot (All-in-one Discord Bot) Co-Pilot is a discord Bot designed to be the all-in-one, open-source Discord bot

YMafalha 19 Nov 11, 2022
Aeona is a multi-purpose discord bot ready to skill up and boost up your Discord server! It has an State of the Art AI chatbot to make sure you never feel bored!

Aeona | Chatbot Aeona is an ever-growing multipurpose bot; primarily a fun chatbot you can converse with, but also showcases a wide range of fun comma

null 29 Jan 9, 2023
Development of a landing page where the user can see information about my learnings in the first month at Trybe Course.

Project: Lessons Learned Lessons Learned was the first project developed by me while studying in Trybe. Technologies and tools used HTML CSS Project o

Ádran Farias Carnavale 1 Feb 12, 2022
Learn2Sing 2.0: Diffusion and Mutual Information-Based Target Speaker SVS by Learning from Singing Teacher

Learn2Sing 2.0: Diffusion and Mutual Information-Based Target Speaker SVS by Learning from Singing Teacher Official implementation of Learn2Sing 2.0.

HeyangXue1997 113 Dec 28, 2022
Front-end capstone project that takes information from an API and displays it in an e-commerce format.

FEC-Atelier Overview Front-end capstone project that takes information from an API and displays it in an e-commerce format. The application is compose

null 6 Aug 24, 2022
A collection of lots of information about MooMoo.io, how it works, what happens and why it happens.

MooMoo in Depth A collection of lots of information about MooMoo.io, how it works, what happens and why it happens. This is a project that aims to exp

Nuro 15 Dec 15, 2022
create a bandcamp-style audio player for selling albums on itch.io

blamscamp Mmh, options, runnin' out of options, Mmh, options, used to have options bandcamp is great (at time of writing,) but it would be great to ha

Blackle Morisanchetto 154 Dec 21, 2022
⚡ Discord bot with economy, gambling, music, fun, moderation features based on discord.js v12

Crucian Crucian is my discord bot with simple structure based on discord.js Click Here to invite Crucian to your server Author Crucian © Apoo Authored

apoow3b 3 Jul 26, 2021
A multipurpose Discord-bot created using discord.js.

Flame A multipurpose Discord-bot with music, economy, utils, and also auto-moderation. Flame is a powerfull, multipurpose and fully modular Discord-bo

Flame 38 Nov 14, 2021
An simple package to create an Activity in Discord Voice Channel using Discord.js

discordjs-activity An simple package to create an Activity in Discord Voice Channel using Discord.js ?? | Installation npm install discordjs-activity

Sudhan 55 Nov 15, 2022
best discord selfbot with discord.js-selfbot npm

Discord-Afk-Selfbot best discord selfbot with discord.js-selfbot npm How to start the Bot step by step : Step 1 ===> Open a CMD the npm init step 2 ==

Mani-MBn 5 Aug 18, 2022
OptiBOT - My discord.js V13 discord bot.

OptiBOT Just a discord.js v13 bot for my discord server. if you plan to use this bot for your server, dont. This i made this bot just for learning js

PrecisionEXTP 1 Jan 3, 2022