Coder Social home page Coder Social logo

lilhaljr's Introduction

Lil Hal Jr.

It seems you have asked about DS's chat client auto-responder.

python badge pycord badge ko-fi badge signature

This is a recreation of Lil Hal Jr. from Homestuck as a Discord bot. It has three thrilling features:

  • Responding to chat activity with a "Hmm."
  • Socially engaging with answers like "Yes."
  • Interacting with and pondering natural conversations, contributing an observation. "Interesting."

He will also shut up when told.


To run

Create a .env file in the root folder and insert Discord bot token like so:

DISCORD_TOKEN=token-goes-here

Install packages specified in requirements.txt.

# Windows commandline
pip install -r requirements.txt

Structure

  • lil_hal_jr.py.: Driver file.
  • bot.py: Bot structure.
  • config.py: Configuration options.
  • cogs: Extensions.
    • dev_cog.py: Adds owner-only commands.
    • logging_cog.py: Handles logging capabilities. Note: also initializes the logger from Python builtin logging.
    • social_cog.py: Events and reactions that adventure beyond "Hmm", "Yes", and "Interesting".
  • helpers: Helper classes and functions.
    • Random number generator.
    • Dialogue generation (beyond the obvious).
    • Debug and help embeds.
    • Text processing.
    • Help command class.

Feature Breakdown

In bot.py:

  • The basic, classic, "Hmm" "Yes" and "Interesting" responses.
  • A secret surprise response.
  • Temporary mute ability, responding to key phrases set in config.py, or an emoji, also configurable in config.py (in-progress, stable for default emojis).
    • Now joined by an un-muting ability, with other key phrases.
  • Help command: ^help, which allows case-insensitive queries for cogs (categories) and/or commands. No argument sends a parody spiel a la Lil Hal.

In dev_cog.py:

  • Ping command.
  • View muted channel command.
  • Shutdown command.

In logging_cog.py:

  • Basic logging on most events.

In social_cog.py:

  • Attempted greetings when joining a server.
    • If there is an obvious intro channel, it sends its own introduction.
    • If there is an obvious general channel, it sends a hello.
  • Greets new members to the server.
  • Attempts to engage with Cranebot's commands.
  • ^inquire command, allowing users to ask questions with vague and asinine responses.

Changelog

  • 05-04-2023: Added commands.
  • 05-05-2023: Added to run guide section.
  • 05-10-2023: Added fun badges and refined introduction and "to run" section. Project made public.
  • 05-11-2023: Added note for shushing emoji.
  • 05-18-2023: Implemented help command and helpers folder, readme documentation updated to match.
  • 07-03-2023: Cleaned up documentation accuracy; adding un-muting abilities.

lilhaljr's People

Contributors

cryptiddddd avatar

Watchers

 avatar

lilhaljr's Issues

move the random number generator to its own space

this is me testing how to do issues. here is the issue.

oh no! the random number thing makes no sense where it is! AHHH!

i need to decide where to place it. ideas:

  • make a helper module
    • what future feature would need a helper module? is that completely necessary for maybe two functions?
    • are there other current staticmethods that could also be moved to this module?
  • make a helpers.py file.
    • i don't like this in terms of organization, and i would prefer it take its own folder! bluh!

let's think about it, team.

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.