Due to the migration of the TBGs, development of Nihonium has ceased permanently.

A bot for the TBGs



0.14.x
0.14.0

The time between parse-cycles can now be changed.
Changed the timing for the sixty-second rule from 62 seconds to 61.
nh!estimate now uses code instead of quote.
Updated nh!help to include nh!rolladice and nh!choose.
Fixed an issue where nh!text's read and create subcommands failed to make log entries.
nh!text and nh!files now check for invalid characters in filenames.
Fixed an issue where nh!text insert didn't work.
If a command does not provide any output at all, a proper error message will be generated, rather than giving a string concatenation error.
Renamed roll_a_dice.json to user_data.json, in preperation for additional storing of user data.
Updated nh!rolladice to account for changes in the formatting of user_data.json.
The delays for rolling 2 and 10 in nh!rolladice are now measured in parse-cycle lengths, not hours.
Updated commands.nihonium to 1.9.1
Updated commands.nh_rolladice to 1.10.0
Updated commands.nh_file_manip to 1.9.0
Updated the Suggestions page.

0.13.x
0.13.0

The bot now has two version numbers; one for the original Nihonium install, and one for the current fork, if any.
Both version numbers are passed to commands, with the fork version number using "forkversion".
The fork version number is now used in most places where the Nihonium version number was used before.
Updated commands.nihonium to 1.9.0

0.12.x
0.12.6

If pass.txt doesn't exist, the bot will ask for a password.
If the bot fails to log in, it will now gracefully exit instead of crashing, while also telling the user to check the password.

0.12.5

The motd is no longer printed to the log, as the motd seems to be unrelated to the crash.
If a requests.exceptions.ConnectionError occurs while the bot is initially trying to scrape the thread, it will try again up to 3 times.

0.12.4

Added a filter system to prevent specific users from using commands, meant to make it so that bots can choose not to respond to other bots.
Made it so that, when the signature is updated, the motd is printed on the log, as an attempt to debug a random crash that can occur sometimes.

0.12.3

Fixed an issue with nh!dice where a user could cause a MemoryError by supplying a large quantity of large-sized dice to roll.
Updated commands.nihonium to 1.8.1

0.12.2

Updated README.json.
Added nh!choose.
Updated commands.nihonium to 1.8.0
Updated the Commands page.

0.12.1

logEntry() now casts input to str.
Moved several strings to an external file (botinfo.json), for ease of customizability.

0.12.0

Commands can now return the empty string to act as if they were invalid.
Commands can now make log entries.
Updated commands.nh_rolladice to 1.9.0
When an exception occurs during a command, the traceback is now printed in the log.
Made it so that you can no longer make more than five rolls using nh!rolladice in one parse-cycle.

0.11.x
0.11.2

Fixed issue where the bot would create a log entry for every line of every post it parsed, even if the bot didn't find any commands.

0.11.1

Fixed issue where the command prefix would be duplicated when the bot quotes the command used.

0.11.0

Made it so that the bot could find commands that are not on the first line of a post.
Added BeautifulSoup 4 requirement.

0.10.x
0.10.6

Updated commands.nihonium to 1.7.6
Added time of estimation timestamps to nh!estimate

0.10.5

Improved the filename sanitizing used by nh!text and nh!files.
Fixed an issue where nh!files failed to produce logging information.
Fixed an issue where, in nh!rolladice, the points given by 3 were not reset.

0.10.4

Fixed an issue where some nh!files subcommands failed to return an output.

0.10.3

Updated commands to 2.2.0
Updated commands.nh_rolladice to 1.80
Adjusted some outcomes of nh!rolladice

0.10.2

Fixed a crash caused by a variable not being reset.

0.10.1

Fixed an issue where the bot failed to update the id of the most recently parsed post in a thread, causing it to parse the same posts multiple times.

0.10.0

Created a new framework for commands.
Fixed issue where, if the bot crashed, it would think it's already parsed posts it hadn't already parsed.

0.9.x
0.9.5

Fixed issue where ".." was allowed in nh!files and nh!text, allowing users to view files outside of the files folder, along with editing text files.
Fixed issue where "con" was allowed in nh!files and nh!text, which would allow a user to freeze the bot by requesting the contents of con.
Fixed issue preventing commands from being used unless they were in lowercase (not including arguments/subcommands).

0.9.4

Fixed a crash caused by confusion between "\" and "/", along with missing imports.
Updated commands to 2.0
Fixed issue where, if the bot failed to parse a thread due to the number of pages being smaller than it expects, it would wait for the sixty-second rule, even though it never posted.

0.9.3

Fixed a crash that would occur if you added a new thread to threadData.json while Nihonium was running.
Updated versions.py to 1.1.1
The commands module is now in seperate files, rather than all being in commands.py.
Updated commands to 2.0.0-alpha2

0.9.2

Fixed a bug with checking to see if a command is in commands.py's exclusive commands list.

0.9.1

Fixed a crash caused by a typo.
Added subcommands to nh!rolladice: roll, points, and leaderboard.

0.9.0

Commands now recieve a small amount of information about the user who called them.
Added nh!rolladice.

0.8.x
0.8.5

Added the ability to specify disabled commands, along with commands exclusive to certain threads.

0.8.4

Fixed a crash that would occur if the bot's id had not been changed.
You can now specify the bot's prefix.

0.8.3

Updated versions.py to 1.1
Commands are now case-insensitive.
The bot's name is now no longer hardcoded in several places.
You can now specify commands exclusive to certain forks, along with minimum supported versions for those forks.
Added better support for forks.

0.8.2

Nihonium can now edit its own signature.

0.8.1

Fixed the in-terminal clock.
Nihonium can now be gracefully exited by pressing Ctrl+C.

0.8.0

You can now run Nihonium on Linux machines.
Added asyncio.

0.7.x
0.7.1

The terminal display now only gives one line to each thread, rather than two.

0.7.0

Added four new subcommands to nh!files: rename, create, duplicate, and delete.

0.6.x
0.6.7

Fixed issue where the bot would repeat commands.
Added a sanity check to nh!dice to keep the output from getting too large.
nh!estimate now defaults to the thread it is used in.
nh!bot now reports the version number.

0.6.6

Fixed issue where nh!text appendline would fail.
Added nh!estimate.
The bot now reloads threadData.json after each parse-cycle.

0.6.5

Fixed issue with nh!text delete not returning an output.
Fixed issue with non-ASCII characters failing to be saved to files.

0.6.4

Fixed a spacing issue with nh!files read.
Added a special character for space.
The replacement characters used in nh!files read have been changed to ones present in Consolas.
All HTML escape codes are now unescaped, not just <, >, and &.

0.6.3

Added nh!text appendline.
nh!files read now has a text viewer.

0.6.2

Added nh!text duplicate.
Fixed a crash bug.
Fixed issue with nh!text duplicate not returning an output.
The console now makes a sound at the start of a parse-cycle.
Added nh!files with two subcommands (read, list.)
nh!text now has its arguments in the order (subcommand, filename.)

0.6.1

<, >, and & are now unescaped in main.py, not commands.py.
Fixed a crash bug.

0.6.0

Fixed bug causing nh!suggest to fail if any escaped characters were present.
Added nh!text and its subcommands (read, write, append, insert, create, delete.)
The list of thread IDs is now updated at the end of a parse-cycle.
More information about a post is gathered.
Commands can now create log entries.
Added an indicator for the size of the log file.

0.5.x
0.5.5

Logs are now in a directory, split by date, rather than in a single file.
nh!suggest now unescapes <, >, and &.

0.5.4

Added additional status lines.
The dictionary for thread information is now updated at the end of a parse-cycle.

0.5.3

Fixed bug that prevented nh!threadInfo from functioning.
Made nh!threadInfo only give estimated completion date for threads with the postID type.
Fixed issue that caused the est. completion date to have the same time as the first post.
Added nh!threadinfo as an alias for nh!threadInfo.
nh!threadInfo now includes the date, posts per day, and posts per hour of a thread.

0.5.2

nh!threadInfo now gives estimated completion date & time.
Added the date of a threads first post to threadData.json

0.5.1

Fixed a crash bug.
Fixed bug that prevented nh!threadInfo from functioning.
Adjusted console output.

0.5.0

Added a command for thread information.

0.4.x
0.4.3

Added additional thread information to postIDs.json (renamed to threadData.json)

0.4.2

Added a suggestions command.

0.4.1

Fixed bugs that prevented nh!dice and nh!bot from functioning.
Added a log file.
Added a help command.

0.4.0

The console title now gets changed when running Nihonium.
A module was added for managing version numbers.
Fixed two version number-related crash bugs.
Moved commands into a seperate module.
Added an error catcher for commands.

0.3.x
0.3.4

Added a section to the console output for the status of the post's http request.

0.3.3

Added an unused bell function.
Fixed a crash bug caused by a post having multiple paragraphs.
postIDs.json is now updated at the end of parsing a thread.

0.3.2

A clock was added in the upper-right corner of the console.

0.3.1

This release fixed 3 seperate crash bugs. An additional 2 crash bugs were fixed in later commits.

0.3.0

nh!bot was updated with additional information.
Fixed a crash bug.

0.2.x
0.2.4

nh!dice gained nh!roll as an alias.

0.2.3

Added nh!bot.
Adjusted console output.
0.2.2 is not present in the repository, and either never existed or has been lost to the sands of time.

0.2.1

The oldest update on the repository, updates before this have been lost to the sands of time.