Git Product home page Git Product logo

helix3's Introduction

Helix3

The third iteration of Helix

How do i install?

Check the wiki, install and config guides are there

So what does each file do?

boot.py prepares the bot to boot, handles the logging setup and archive. You run this file to start the bot

code/bot.pythe main bot file. This code handles loading and unloading cogs, logging in, shutting down, and all other core functions

code/fun.py a cog file for all "fun" commands

code/moderation.py a cog for all "moderation" commands

code/music.py a cog for all music functions

code/utilites.py a cog for all "utilities" commands

code/porn.py a cog for all the cough naughty commands

code/get.py is an unfinnished collection of helper functions to allow per server settings

code/chatbot.py a cog for helix's chatbot capability, based on A.L.I.C.E. AIML Bot

Any code files prefaced with "misc_" are just files that return a random string in line with 1the name. These will be gone soon so just ignore them.

How do i load a cog?

bot.add_cog([cogName](param))

How do i unload a cog?

bot.remove_cog("[cogName]")

Can my cog be added to reload?

Yeah, just use the rest of the command as guidance

Can i use the requests module?

NO, use aiohttp.get instead

How do i make a command?

Go to the appropriate cog file, go into the class and use the following:

    @commands.command(pass_context=[bool], no_pm=[bool])
    async def [command name](self, ctx): # use ctx, if pass_context is true
        [code for your command]

Dependencies

(this list isnt always up to date, check requirements.txt)

  • discord.py[voice]
  • colorlog
  • pycryptodome
  • requests
  • imgurpython
  • lxml
  • pillow
  • bs4
  • youtube_dl
  • https://github.com/LordOfPolls/Python-AIML-Logging/archive/master.zip

For anything else, use the following:

standard discord.py stuff: http://discordpy.readthedocs.io/en/latest/

commands extension stuff (cogs, commands.command, etc.): http://discordpy.readthedocs.io/en/latest/faq.html#commands-extension

https://www.google.co.uk

helix3's People

Contributors

benzammour avatar dementedorange avatar dnagamer avatar joelroy1 avatar lordofpolls avatar miltann avatar murraygroves avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

kyanha clouds2023

helix3's Issues

modify AIML

Describe the feature you'd like
Modify AIML so it executes commands when it's told to, for instance, "@helix change your nick to Helix3", doing that should make the bot change its nick. Should be applicable for all commands

Comment music.py

Nobody knows what an earth is going on in music.py. I should probably fix that with comments

Remove obsolete code

Is your feature request related to a problem? Please describe if so.
The code has a lot of obsolete or repeated code, at some point we should have a mass cleanup

Describe the feature you'd like
Clean up the code of obsolete or repeated code

Describe alternatives you've considered
Trying to ignore it

Chat bot

Describe the feature you'd like
Using AIML create a chatbot that will interact with users. If the bot is going to adress someone by name, it must user user.display_name.
The code must be loadable via a cog
If it fails for whatever reason, it must fail without any error messages in discord, only log

Describe alternatives you've considered
cleverbot.io

Naughty Commands Port

Is your feature request related to a problem? Please describe if so.
Im always frustrated when there is a lack of porn on the bot

Describe the feature you'd like
Porn k thnx

Describe alternatives you've considered
Pornhub

Newgrounds support

Is your feature request related to a problem? Please describe if so.
Bot cant handle newgrounds URLS

Describe the feature you'd like
Allow the bot to play newgrounds audio links

switch to commands.check for perm checks

Switch all command limits (donator only, admin only, perm checks etc.) to use reusable functions and @commands.check()

This'll make the code look nicer and prevent repetition

Bot continues adding songs, after .stop issued

Describe the bug
Bot continues adding songs from a playlist, after .stop issued

Actions taken
Requested a large playlist to be added to queue, sent .stop, bot stopped playback, left vc, continued adding to the queue

Expected behavior
The bot should have stopped adding song

Per server settings

Describe the feature you'd like
Allow the changing of bot settings per server. e.g. change prefix, disable cogs, commands, etc.

Theres already a legacy file half ported from liberty prime called get.py which may help

Automated Setup Scripts

A script to automate the setup and installation of the bot. The script should be independent and be as user friendly as possible

  • Windows
  • Debian
  • Ubuntu
  • OSX

Purge from user command

Is your feature request related to a problem? Please describe if so.
A command that purges all messages from a specific user

fix cat

Describe the bug
after implementing session.get, command doesn't work, no errors displayed

Recode Music Class

Basically with the current method of playback, eventually, the bot will just stop playing the current song if its too long. At this time im unsure what this length is, but i really dont care tbh.

To get around this i need to impliment caching. I dont really want to have to download every song, so the bot will only cache songs over 4 minutes in length. This should result in the bot not downloading huge amounts of data, keep response times down, and still abusing the F* out of the youtube_dl player

Helix "mentions" itself in help msg

Describe the bug
When you mention the bot to get a help msg, it shows the mention code inside a code block

Actions taken
@helix help

Expected behavior
It should just say You can also type @helix help category for more info on a category.

Screenshots
image

fix on_member_join

Describe the bug
Returns an error rather than the message when a member joins,

urban cmd broken

Describe the bug
Currently returns a self not defined error when the command is used.

fix setpic

Describe the bug
broke after aiohttp dropped timeout

Broken NP command

Describe the bug
The NP command outputs the wrong data due to the rewrite of the Music classes

Actions taken
I rewrote the entire music class

Expected behavior
When using the NP command, you should expect output similar to what the now playing announcemnt has (when a new song starts.

cant switch to default prefix via setprefix

Describe the bug
If default bot prefix aka '.' is set as prefix using setprefix, the prefix stays the same as it was, doesn't change. For instance, consider ! was the prefix, after !setprefix . , the prefix would still be !

Make an actual test for helix instead of compileall

Right now Travis just installs dependencies, and runs compile all as a test, we need an actual file to test the bot. Ofc we cant actually test the code, but we can make something that can make sure there are no errors and the like

e621 support

Just leaving a ticket here because you said you'd forget if I didn't... so, e621.net support?

Installation Guides

Guides for users to follow when setting up the bot, in conjunction with scripts. Guides should be for each os supported by the scripts, and be as noob-friendly as possible

  • Windows
  • Debian
  • Ubuntu
  • OSX

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.