Coder Social home page Coder Social logo

shrekbot's Introduction

Shrekbot

Shrekbot Logo

Description

Shrekbot is a Discord bot inspired by the lovable ogre himself, Shrek. It allows users to request movies or TV shows to be added to Ombi, a media request platform, using API calls. With Shrekbot, requests can be made directly within the Discord client, making it convenient and fun for users to discover and request their favorite content. Additionally, Shrekbot can notify users when the requested content becomes available to watch, ensuring they never miss out on their favorite shows and movies.

Features

  • Seamless Requesting: Users can easily request movies or TV shows to be added to Ombi with simple commands right in the Discord client.
  • Ombi Integration: Shrekbot uses API calls to communicate with Ombi, ensuring accurate and efficient processing of requests.
  • Notifications: Shrekbot can notify users when the content they requested becomes available, keeping them updated and ready to watch.
  • Shrek-themed Interface: Embrace the charm of Shrek with a bot that reflects the spirit of the beloved ogre.

Configuration

Before running Shrekbot, you need to set the following environment variables:

  • ombitoken: Secret token of the Ombi server.
  • ombiip: IP address of the Ombi server.
  • ombiport: Port number of the Ombi server.
  • clientid: Discord bot ID.
  • guildid: Discord server ID.
  • token: Bot token found on the Discord Developer Portal.
  • channelfeed: Channel ID used to notify users when content is available.
  • timerexp: Time (in milliseconds) before a search expires if the user doesn't respond.

You can set these environment variables in your Docker environment or in a .env file.

Running Shrekbot

Once you have set the environment variables, you can run Shrekbot using Docker:

Pull the Docker image from the package repository: docker run -d \ --name shrekbot \ --env-file .env \ ghcr.io/donairsauce/shrekbot:master

Make sure to replace .env with the path to your environment variable file.

Running Shrekbot without Docker

Please note that these instructions assume you have Node.js and npm installed on your machine. If not, make sure to install them before proceeding. To run Shrekbot without Docker, you can follow these steps:

  1. Clone the repository:

    git clone https://github.com/donairsauce/Shrekbot.git
    
  2. Install the required dependencies. Navigate to the cloned repository's directory: cd Shrekbot Then, install the dependencies using a package manager such as npm: npm install

  3. Set the environment variables: Before running Shrekbot, make sure to set the required environment variables. You can do this by creating a .env file in the root directory of the project and specifying the following variables:

ombiip=<Ombi server IP>
ombiport=<Ombi server port>
clientid=<Discord bot ID>
guildid=<Discord server ID>
token=<Bot token from Discord Developer Portal>
channelfeed=<Channel ID for notifications>
timerexp=<Time in milliseconds for search expiration>
  1. Start Shrekbot: npm start

Usage

To interact with Shrekbot, join a Discord server where the bot is present. Use the following command to initiate a search and request content:

  • /request [query]: Initiates a search and returns the top ten results in a drop-down list.

Once you enter the /request command followed by your query, Shrekbot will perform the search and present the results in a drop-down list. The first result will be automatically selected, and its details, including title, description, release date, and poster, will be displayed.

You can change the selection as many times as you want by using the drop-down list to navigate through the list. When you find the desired content, simply click the "Request" button to submit your request.

Shrekbot will process the request and communicate with Ombi to add the selected content to the media library. You will receive a notification when the requested content becomes available.

Examples:

  • /request Shrek: Initiates a search for the movie "Shrek" and presents the results.
  • /request Game of Thrones: Initiates a search for the TV show "Game of Thrones" and presents the results.

Feel free to explore and request your favorite movies and TV shows with Shrekbot!

Request Example

Enabling Notifications in Ombi

To enable notifications for content availability, follow these steps in Ombi:

  1. Go to Ombi settings.
  2. Select the "Notifications" tab.
  3. Under the "Webhook" section, check the "Enabled" checkbox.
  4. In the "Base Url" field, enter the location where the bot is hosted, followed by :8154/webhook. For example, if the bot is hosted at http://192.168.1.1, enter http://192.168.1.1:8154/webhook.
  5. Save the settings.

By enabling notifications in Ombi and providing the correct base URL, Shrekbot will be able to send notifications to the specified channel when the requested content becomes available to watch.

Notification Example

Support and Feedback

If you have any questions, need support, or want to provide feedback, you can join our Discord server:

Join Shrekbot Discord Server

Contributing

Contributions to Shrekbot are welcome! If you want to contribute to the project, please follow these guidelines:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/your-feature.
  3. Make your changes and commit them: git commit -am 'Add your feature'.
  4. Push to the branch: git push origin feature/your-feature.
  5. Submit a pull request.

License

This project is licensed by Lord Farquaad.


Developed with ๐Ÿ’š for Shrek.

shrekbot's People

Contributors

fire-swan avatar shreksauce avatar taylortwbrown avatar tbrown-payments avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

shrekbot's Issues

Improve documentation

Add reference link that explain how to create a discord bot
Explain the steps to get the discord token
Set a real license

Reduce size

reduce size by removing unused dependencies and improving code efficiency

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.