Giter VIP home page Giter VIP logo

protobot's Introduction

Lexi

All Contributors

An Update on the Status of Lexi

The Lexi project has been a major project of mine for a long time. I've put a lot of work into the framework and design behind the Lexi Discord bot, and I've enjoyed the time that everyone has put into this as well. However, as all great things must come to an end, I've decided to begin sunsetting Lexi.

I've decided to do this for a few reasons:

  • Lack of assistance from other developers & even the other maintainers
  • Lack of interest in the bot at all (it's only in my servers)
  • Lack of time & motivation (The framework is amazing, but few features are available)
  • Lack of legal support with privacy policies etc

Here's how this is going to work. From now on, I will no longer be providing any feature updates to Lexi. I will still be providing bug fixes and security updates for a limited amount of time, but once Discord stops supporting Lexi's API version, the hosted instance will officially be shut down.

Thank you to everyone who has made this project possible, especially:

  • Alcremie, for performing the TypeScript rewrite in ProtoBot 2
  • numselli, for helping me find some security issues and for making some contributions
  • charmines, for maintaining the project

And finally, thank you, the user, for using Lexi. I hope you enjoyed your time with the bot while it lasted.

Signing off...

Logan (LogN / 0xLogN)
Lexi Core Maintainer
SkyMines Network Owner
Zirco Compiler Engineer

Update

Lexi is now officially feature-frozen. No more feature PRs or changes will be made from this point on, except in some VERY specific circumstances. Lexi's dev branch will be shut down soon, and the Dev bot will soon be stopped.

Update II

All Lexi bots have officially been shut down and this repository is about to be archived. Thank you so much for supporting Lexi.

What is Lexi?

Lexi is a powerful Discord bot for furries and alike! It contains a variety of commands that can be used to make your server more fun and interactive.

Add me to your server! Main Bot, Recommended | Development Bot

You may choose more detailed permissions here:

How Lexi Started

Lexi started as a furry bot named "ProtoBot" in it's earliest development phases. I eventually decided to make it more accessible for people outside the fandom (as a lot of people were saying ProtoBot was too specific for them) and then the name Lexi came out of my head.

In pull request #510, ProtoBot 3 was started. Eventually, it got renamed to "Lexi."

The name Lexi is actually the name of one of my protogen fursonas, and a lot of her traits carried into Lexi as a Discord bot.

Installing and Setup

The following steps will help you get Lexi up and running on your computer.

Lexi supports Linux and macOS 11 or later. Any Windows/OSX bugs will be treated with low priority, and we will not consider adding install/start scripts in Batch any time in the near future. WSL is supported and recommended if you are to host using Windows, and we suggest using PM2 for process management.

Before you continue (Notice on Open Source status of Lexi)

Please consider the following before you continue the installation of Lexi.

Lexi's source code is OSS (Open Source Software). As part of the terms in GPL3, I (Logan) have no right to stop you from self-hosting this bot with the applicable credit. I decided to open-source Lexi to allow for contributions from other fandom members, and to further my maintaining experience.

One thing I considered when open-sourcing Lexi was the possibility of people forking off on their own and contributing to their own Lexi fork, instead of Lexi itself. If you have something you'd like to see added to Lexi, please contribute instead of self-hosting. It's better for all of us.

In addition, Lexi relies on a lot of external services to function, and this number is getting greater as more functionality is being added.

Self-hosts of Lexi is not recommended for non-development purposes.

- 0xLogN Lexi Maintainer

1. Install Prerequisites

Node.js

Follow the installation steps for Node.js v16

Then install TypeScript: yarn global add typescript

Build-Essential

Install build-essential for your system; it should be available on macOS via the build tools in XCode.

Git

Ensure Git is installed. On Linux, install it with your package manager, the package is probably named git.

2. Download Source Code

In the destination folder (this can be moved later), run this command:

git clone https://github.com/thetayloredman/Lexi.git

3. Preparing Configuration and Dependencies

Execute ./install.sh.

Before you continue, take close note:

One of the questions the installer will ask you is VERY important: It will read as something like "What is your Discord User ID?"

This is one of the most important steps here. Do NOT give ANYONE you do not know very well access to this. They can open a shell on your system and make changes to any file.

Hey, did you read that thing above me? If not, read it. Did you read it? Read it again. This is serious.

4. First Startup

Normal Run

Run ./start.sh.

FOR PRODUCTION ENVIRONMENTS: Run PRODUCTION=1 ./start.sh

With PM2

PM2 is a process manager for Node.js. It is a good alternative to using the normal start scripts.

First, ensure PM2 is installed: yarn global add pm2

Optionally, enable PM2 to automatically start as a daemon: pm2 startup

Then, run pm2 start ecosystem.config.js (add --env production if you want to run in production)

If you want daemon startup, run pm2 save.

5. Logging

Logs will automatically be created and manual maintenance is needed for cleaning these up.

Notable Mentions & Maintainers


thetayloredman

Core Maintainer

ilikestohack

Maintainer

Contributors โœจ

Thanks goes to these wonderful people (emoji key):

BadBoyHaloCat
BadBoyHaloCat

๐Ÿ› ๐Ÿ’ป ๐Ÿ”ฃ ๐Ÿ“– ๐Ÿค” ๐Ÿš‡ ๐Ÿšง ๐Ÿ“† ๐Ÿ’ฌ ๐Ÿ‘€ ๐Ÿ›ก๏ธ โš ๏ธ
LostNuke
LostNuke

๐Ÿ’ป
Ivan Lieder
Ivan Lieder

๐Ÿšง ๐Ÿ’ป ๐Ÿ‘€
JustAnotherDev
JustAnotherDev

๐Ÿ›
Nepgfurmixpro
Nepgfurmixpro

๐Ÿ’ป
0v0Bot Admin
0v0Bot Admin

๐Ÿš‡
numselli
numselli

๐Ÿš‡ ๐Ÿ› ๐Ÿ’ป
charmines
charmines

๐Ÿ’ป
ei-pi
ei-pi

๐Ÿค”

This project follows the all-contributors specification. Contributions of any kind welcome!

protobot's People

Contributors

allcontributors[bot] avatar deepsource-autofix[bot] avatar dependabot[bot] avatar festiveelephantseal avatar ilikestohack avatar lostnuke avatar nepgfurmixpro avatar numselli avatar renovate-bot avatar renovate[bot] avatar thetayloredman 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.