Giter VIP home page Giter VIP logo

circuitsacul / starboard-1 Goto Github PK

View Code? Open in Web Editor NEW
55.0 2.0 10.0 1.16 MB

An advanced and reliable Discord Starboard. NOTE: This code isn't very good. Don't use it, don't follow this structure. See https://github.com/trigondev/starboard for a better codebase.

Home Page: https://circuitsbots.github.io/Starboard/

License: MIT License

Python 99.86% Shell 0.14%
starboard starboard-bot discord-bot discord-py discord-py-rewrite discord-python-bot discord-python discord-py-async bot customizable

starboard-1's Introduction

About Starboard

Starboard is an advanced, reliable, and highly customizable starboard bot, allowing for multiple starboards, multiple emojis, auto-star channels, and much more coming!

This documentation gives you a quick start to using the bot. If you see a problem, please let me know, either by using the bots suggest command or joining the support server. My discord username is @Circuit#5585.

Useful Links

Invite Starboard to your server

Join the support server

Starboard Documentation/Wiki

Starboard's Features

  • Supports multiple starboards

  • Advanced Channel/Role Whitlisting/Blacklisting

  • AutoStar Channels (media channels)

  • Supports multiple normal and custom emojis for each starboard

  • Leveling, rank, and leaderboard

  • Award Roles (XP Roles and Position-base Roles)

  • Starboard moderation, such as:

    • Freezing a message, preventing the points from updating on it

    • Forcing a message, so it's on the starboard no matter what

    • Trashing a message, in case a bad message gets on the starboard

  • Advanced customization, giving you complete control over the bot

If you have any suggestions or found any bugs, please create an issue.

Quick Setup

Note: Don't actually type out < > [ ] when I give you commands to run. Replace [p] with the actual bot prefix which is sb! by default. channel means type "channel", where as <channel> means replace "<channel>" with the name of the channel.

Method 1

  1. Invite the bot to your server

  2. Run [p]setup and use the setup wizard to create your starboard!

Once completed you can continue to use the setup wizard to modify the settings of the starboard (like emoji being used). A complete list of settings is available in the wiki.

Method 2

  1. Invite the bot to your server

  2. Create a channel for the bot (name it something like #starboard). You can also use a existing channel

  3. Type [p]starboards add <channel> ("<channel>" is the name of the channel you are using)

  4. Type [p]starboards <channel> to view all the settings for this starboard!

The starboard is now good to go, but you might want to change more settings (like the number of reactions needed). A complete list of settings is available in the wiki.

Self Hosting

These directions are for self-hosting the bot. If you just want a working bot, you can invite the main bot to your server instead.

What you will need:

  • Something to run the bot on
  • A Discord bot application from the Discord Developer Portal
  • A Python 3.6 or higher installation
  • A PostgreSQL database

Instructions

  • Clone the repo by running git clone https://github.com/CircuitsBots/Starboard.git in the command line.

  • Make a copy of bot_config.py.example, and rename it to bot_config.py.

  • Update the settings to your liking. If you need help with this, you can join the support server. You only need to edit the first two lines, and you can just leave the others the same for now.

  • Create a file called .env, and inside it paste the contents of the .env.example file. The only required fields are TOKEN, and DB_PASSWORD. If you wish to have statistics for your bot you can fill out STATCORD_TOKEN with a token from Statcord

  • If your database is not on the same device as the bot or has a different default user/database you maybe need to edit the bot to account for this. First, head over to the database/database.py file. Second, open the file in a text editor and scroll down to line 249 (as of time of writing). Here you will find the connection config. You can edit the database host, dabasase name, and database user to suit your setup.

  • Now you need to install the dependencies required for the bot to run. These can be found in the requirements.txt file

  • Finally run python bot.py to run the bot!

Contributing

If you see a bug or possible improvement and want to help out, you can fork this repostory, make the edits, and then create a pull request. Make sure to look at the guidelines in CONTRIBUTING.md. I really appreciate any help that you can give.

Bot Lists

Discord Bots

Starboard

Bots for Discord

Discord Boats

starboard-1's People

Contributors

circuitsacul avatar theelx avatar thelimifiedlime avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

starboard-1's Issues

Starboard help menu displays snowflake id instead of @mention

Describe the bug
When the bot is @mention'ed, the code blocks display the bot user snowflake identifier instead of an actual mention, which may confuse people.

To Reproduce
Steps to reproduce the behavior:

  1. @mention the bot

Expected behavior
The bot actually sends a @mention (requires the @mention to not be in a code block), or does a "fake @mention" such as:

For a tutorial on using the bot, run @Starboard tutorial.

Screenshots
Starboard

Desktop (please complete the following information):

  • OS: Arch Linux
  • Discord (if applicable): Desktop

Test Bug

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Discord (if applicable): [e.g Mobile, Browser, Desktop]

Additional context
Add any other context about the problem here.

Keep spoilers on images when they are starred

Is your feature request related to a problem? Please describe.
If an attached image to a post is spoilered, and then gets starred, the spoiler does not carry over and the image is unspoilered. This causes issues if we have a policy for spoilering images for e.g. film spoilers, pictures of spiders, etc.

Describe the solution you'd like
Is there a way to get the image to remain spoilered when embed in the starboard post?

Additional context
image

"Jump to Message" text on mobile as **Jump to Message**

Describe the bug
Whenever a message gets starred, there's an "Original" field inside the starred message embed, and there's a Markdown link in bold that says "Jump to Original". Now, on desktop, that looks pretty good due to its bold nature, but on mobile (or Android, at least), instead of saying "Jump to Original" in bold, it says "**Jump to Original**", not in bold.

To Reproduce
Steps to reproduce the behavior:

  1. Send a message
  2. Have friends
  3. Get it on the starboard
  4. Go on mobile (or Android, at least)
  5. See the Original field of the starred message embed whatever you wanna call it

Expected behavior
Well, "Jump to Message" would be in bold on both desktop and mobile.

Screenshots
Apologies for the terrible pencil paint censoring job. This is what I see on mobile:
Capture+_2021-05-31-20-31-05
Here, a better blur censoring job. This is what I see on desktop:
image

Desktop (please complete the following information): (what, does this apply in my case)

  • OS: Android in case you haven't noticed yet
  • Discord (if applicable): CutTheCord 56.0 (1371)

Additional context
I believe the problem rests here, a way to fix this would be to, say, do this: **[totally not a rickroll](https://www.youtube.com/watch?v=dQw4w9WgXcQ)** instead of [**totally not a rickroll**](https://www.youtube.com/watch?v=dQw4w9WgXcQ). Or at least, that's how markdown links inside embeds worked for my case.

Starboards don't work inside threads

Describe the bug
Stars on messages in threads don't get posted to the starboard.

To Reproduce
Steps to reproduce the behavior:

  1. Make a thread
  2. Post a message
  3. Add star/etc reactions until the threshold

Expected behavior
I'd expect the message to get posted in the starboard like any other message, but right now it doesn't.

Screenshots
image

Additional context
You'd likely need to update to a discord.py version that supports api v9, and then the bot should receive events as normal.

Does this bot support the removal of the message footer and embed fields containing the link-back to original message/attachments?

The bot works great overall and is highly customisable, however, when it copies Discord Webhook embed messages the copied message can be very long and take up more than whole screen (especially on mobile devices).

Are there currently any commands to remove some of the fields that the bot adds to the copied message natively within the bot? Also, the bot seems to embed the thumbnail of any Discord Webhook embed messages that it copies as an embedded image and not a thumbnail, which also greatly adds to the size of the copied message as well. Is there any way to stop this from happening as well within the bot?

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.