A bot to play ASCII art for the Internet Relay Chat (IRC) protocol.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dionysus 4e4d8a9ff5
Initial commit.
5 months ago
screens Initial commit. 5 months ago
scroll Initial commit. 5 months ago
LICENSE Initial commit. 5 months ago
README.md Initial commit. 5 months ago

README.md

scroll

A bot to play ASCII art for the Internet Relay Chat (IRC) protocol.

Requirements
  • Python *(Note: This script was developed to be used with the latest version of Python.)*
  • Pillow
Information

Place your ASCII files in the [data/ascii]https://git.supernets.org/acidvegas/scroll/src/branch/master/scroll/data/ascii) directory.

A large organized ASCII art pack is included in the ircart repository.

The .update command requires that you git clone the repository above to the ASCII dir.

Trunc

The <trunc> argument for the .ascii command allows you to truncate lines off of an ASCII.

The data is TOP,BOTTOM,LEFT,RIGHT,SPACES. Top being how many lines to remove from the top. Bottom being the same except from the bottom. Left and right remove characters from each side, and spaces will prefix lines with this many spaces.

Example: .ascii funnyguy 3,5,0,10,30 (This will remove 3 lines from the top, 5 lines from the bottom, no characters from the left, 10 characters from the right, and append 30 spaces before each line.)

Commands
Command Description
@scroll Information about the bot.
.ascii dirs List directories in the ASCII folder.
.ascii list Send a link to a list of the ASCII files.
.ascii png <url> Convert ASCII to a PNG and upload it to IMGUR. *(The <url> must be a Pastebin or Termbin link.)
.ascii random [dir] Play a random ASCII file, optionally from the [dir] directory only.
.ascii remote <url> Play a remote ASCII file. *(The <url> must be a Pastebin or Termbin link.)
.ascii search <query> Search through the ASCII files for <query>.
.ascii stop Stop playing the current ASCII being scrolled.
.ascii upload [<url> <title>] List uploaded files or upload <url> as <title>. (The <url> must be a Pastebin or Termbin link.)
.ascii <name> [<trunc>] Play the <name> ASCII file. (See above about <trunc>)
Admin Commands (Private Message)
Command Description
.config [<setting> <value>] View the config settings or change <setting> to <value>.
.ignore [<add/del> <ident>] View the ignore list or <add/del> an <ident> to the ignore list. (Must be in nick!user@host format. Wildcards accepted.)
.raw <data> Send RAW <data> to the server.
.update Update the internal ircart repository.
Config Settings
Setting Description
cmd_throttle Delay between command usage for flood control.
max_lines Maximum number of lines an ASCII can be to be played outside of the #scroll channel.
max_png_size Maximum size (in byte) for .ascii png usage.
max_results Maximum number of results returned from a search.
max_uploads Maximum number of uploads to store.
max_uploads_per Maximum number of uploads per-nick.
msg_throttle Delay between each line send to the channel.
png_throttle Delay between .ascii png usage.
png_max_bytes Maximum bytes for .ascii png uploads.
rnd_exclude Directories to ignore with .ascii random. (Comma-seperated list)
Todo
  • Check pastebin size before downloading.
  • Store image bytes in memory so creating files locally is not required.
  • Improve truncation of the left and right by retaining the last known color code.
  • Add ascii tagging to database. Lets you tag asciis with hashtags for searching. Maybe include an author tag also.
  • Add an ascii amplification factor to the trunc array, and maybe rename trunc to morph.
  • Use the maximum allowed upload size for IMGUR upload, and track it to a maximum of 50 per hour.
  • Controls for admins to move, rename, delete, and download ascii on the fly.
Mirrors