Gyn
From Botdom Wiki
| | |
| | |
| Developer(s): | NoodleMan |
| Programming language: | PHP |
| Development state: | Beta |
| Source model: | Open source |
| Last stable release: | None |
| Last preview release: | 0.9.13 (September 4, 2007) |
| License type: | Free software (GPL)
|
Gyn is a bot developed by NoodleMan. It is intended as an easy to use and feature-full replacement for NoodleBot that is useful for bot veterans and newbies.
Features
- Extremely easy to install and upgrade
- Automatically configures PHP - No creating an ini file required!
- Easy to install modules
- Object-oriented modules provide better speed and security
- Runs NoodleBot scripts and Futurism modules!
Downloads
Notice: Upgrading to 0.9.13 has some bugs. Either be careful when upgrading or wait for 0.9.14 when the bugs are resolved.
Beta
Alpha
Pavement (Pre-Alpha)
Suggestions
- A way to play Google Snake. Maybe the command is !snake and you tell it what users are playing, then they "!snake [firstword]" and it tells the amount of results, then it says who is next and they "!snake [firstword] [secondword]" and so on until someone loses. Then the bot tells the new score.
Bugs
- Input window and config-win.bat only work for main account
- Bot crashes when loading a module twice
- Update system says the bot is up to date if it cannot be auto updated
- bot goes into loop if attempting to use a command through the command window, and the bot doesn't have the privs to say the command, or is not in the chatroom at the time the command is issued. (Runs a repeated "HH:mm:ss] Failed to msg to #roomname: not privileged" or "HH:mm:ss] Failed to msg to #roomname: not open" depending on which situation) It stops the loop when someone in the room says something.
Agenda
- Port Maltriv 2.0
- Finish poker
- Trivia question archive
- Allow multiple download locations for the same file for !upgrade
- Module upgrading similar to !upgrade
- Have UNO update topic/title in pchats with info
- Don't kick a player from the game in UNO if they leave but have another account still on
- Use official rules for UNO
- Option to turn off failure messages (for join/part/say etc) when using dAmn methods
- Input window, config-win.bat and settings/upgrade support for multiple accounts
- Handle connection timeouts
- Fix google for some things (ex photofroggy)
- Don't crash when loading a class twice
- Update file for multiple versions
- Don't allow bots to have AI conversations with each other
- Use __autoload()
- Possibly use type hinting
Changelog
Beta
4 September 2007, Gyn 0.9.13
- Example modules are now hidden from !commands/!modules/!events
- parse::time() now works for negative and zero values
- Added !idle
- Added the uno module
- Updated the messages for when the bot joins or leaves a channel and for when a user joins or leaves a private chat
- Added a message to show if the other user has joined a private chat
- Fixed an undefined index error when the bot joined a private chat
- Deleted some old code from !user
- !user will now show access for the user giving the command if no user is given
- dAmn::join() and dAmn::part() will no longer send if no channel can be found
- !part will now work if no channel is entered
- Added !big
- Made dAnote a module
- parse::time() now adds commas and "and"
- Fixed a bug where $_LAST['said'] could be a channel the bot had left
- Topics and titles are now logged
11 August 2007, Gyn 0.9.12
- Added an option to turn off the input window through the setup or config-win.bat
- Invalid event instances will now be ignored rather than crash the bot
- !upgrade will now keep PHP location and input window settings
- Multiple accounts with different settings can now be run from the same bot
- !e will no longer show errors
- Moved documentation files to lib/doc/
9 August 2007, Gyn 0.9.11
- Added years to parse::time()
- Added !count
- Added the games module
- All modules are now off by default
- Added documentation for installing modules
- Bot can now check for new versions on startup
- Bot will no longer give errors if options are missing from bot.ini
- Events can now be hidden from the commands/events/modules commands with event->hide()
- Added !danote
- Fixed a bug with the input window and !module
- Updated !upgrade to use store::data()
- Added !install
- Fixed a typo in !upgrade
- Fixed the dir ignoring in delete::wipe(), which means logs and modules are now not deleted when upgrading.
- Bot will not longer output "Config generated" or "Loaded settings file"
- If the bot is given a boolean or null value to say, it will say 'true', 'false', or 'null'.
5 August 2007, Gyn 0.9.10
- Improved parse::params()
- If an event is unhandled, the bot will no longer say 'and logged'
- Unhandled events no longer trigger errors
- !upgrade now gives info on how to upgrade
- Responses can now do /commands
- Added documentation
- Updated license to GPLv3
28 July 2007, Gyn 0.9.9
- !ping no longer requires the bot to say something
- !ping can now do an average of multiple pings by specifying a number
- Added error messages for !whois
- dAmn::whois() will no longer give an error if no username is specified
- Added !raw
- Fixed a bug where the bot would not reconnect when it should
- Fixed !redefine
- Fixed a bug where the input window sent a message twice
- Packets will no longer be sent to a blank channel
- The bot's trigger can now be entered in the setup
- All methods of the delete class now have return values
- delete::file() will no longer output an error if the file is protected
- !modules shows if a module is on or off
- Fixed a bug with !modules
- !info module will now show info for !module
- !info module [module] now shows version/author/description
- ![command] [info/i/?/help] will now only be shown if the message is exactly [info/i/?/help]
- !module info [module] will show module info
- !module on/off now saves its changes, just like !toggle
- !redefine/info/toggle will now say if a module/command/event does not exist
- Welcomes are disabled in #Botdom
- Updated usage for !away
- Errors in events will no longer be displayed as eval() errors (even for redefined events)
- store::data() will now work for files in nonexistent directories
- Updated the convert module
- Removed DIRECTORY_SEPARATOR from some files
- Improved make()
- Image results are now removed from !google
- The bot now changes its pause time based on the time it takes to loop
- AI no longer interferes with username: about/info/trigger/trigcheck
26 July 2007, Gyn 0.9.8
- Added info for all commands
- Part events are no longer shown when the bot disconnects with dAmn::disconnect()
- !redefine and !info are fixed to work for info while their info is set
- !redefine can now redefine itself properly
- Added store::export()
- Updated delete::dir() to delete subdirectories
- Added delete::wipe()
- The settings file is now deleted after it is loaded
- The bot can now be upgraded with !upgrade
- Bot is now restricted from using any commands if SELF_ACCESS is off, even if it has access
- Fixed a bug with the welcome module
- Access level names now work when using !ach
- Added return values for store methods
- Added !calc
- Bot will no longer crash when loading if an event has an error in it
- Improved validate::cls()
25 July 2007, Gyn 0.9.7
- extension_dir is now changed instead of moving the extension
- Added two new debug options: logging unhandled events and increased bot speed
- Added !modules and !module
- !info module [module] will now show module info
- &#[##]; characters that were parsed previously are not parsed
- Empty tag properties are only removed if they are inside a tag
- Removed bot::owners()
- Added reboot()
- Moved STARTUP to $_STARTUP
- Disconnection information is now displayed and acted on
- Bot automatically reconnects when disconnected, unless dAmn::disconnect() is called
- All disconnect packets are now handled properly
- Bot will no longer attempt to connect if there is no login information
- Setup will no longer output errors if any fields are left blank
- A trigger is no longer required to command the bot in private chats
- Fixed an undefined index when joining private chats
- Connecting output is more straightforward
- Added !dev
- !events and !commands will now only show events/commands that the user has access to
- Fixed a privilege issue with !commands
- The bot's username is no longer case sensitive
- If the capitalization of the bot's username or owner are incorrect, they will be corrected
- !redefine has been updated to work for classes with multiple events
23 July 2007, Gyn 0.9.6
- Added !online
- $this->from is now available for events other than recv:msg or recv:command that have $this->target
- & and other characters are parsed again
- Fixed a bug with the timers class and made timers->list private
- Events can loop by being a loop event rather than accessing timer::loop()
- Events can delete themselves with $this->delete()
- Events can be deleted with delete::event("class")
- Events can turn themselves off with $this->off()
- Single event classes can now be registered to multiple events
- Note module updated to use the above update
- Added !feature
- Updated !ach/!info/!redefine/!toggle to support multiple event classes
- Updated the command class to support multiple event classes
- Added aliases for !die and !kill
- Made !about an alias of !info
- Added the get event for whois errors
- Added !filter and implemented a language filter
- Added !export, which exports settings to a settings file, which can be loaded from another bot
- Added !ai and implemented Kato
- Added !tr
- Updated topic/title events for empty topics/titles and made the topic event an alias of the title event
- Users are now removed from $_CHAN when leaving a channel, and added when joining
- $_LAST has been given default values to avoid undefined index errors
- Converted modules are now placed in mod/converted/
- Added username: trigcheck in addition to username: trigger for checking the bot's trigger
- !redefine/!ach/!toggle now only output once for multiple event classes
- Added startup event which is called before starting the bot
21 July 2007, Gyn 0.9.5
- Added !about
- !about can now be accessed through username: about or username: info
- Removed some unnecessary code in dAmn.cls
- Moved $lastsaid to $_LAST['said']
- Triggers using &??; format are now visible with trigger checking
- Used parse::time() for uptime in !about
- Command triggers can be used in addition to class names for !info/!redefine/!toggle
- Added conversion for futurism modules
- Fixed an empty message bug in !term
- Added the use ini option to setup
- Added debug options to bot.ini
- Moved mode definition to load::settings()
- Moved constants into load::constants()
- Added !note
- Fixed bug where user access wasn't loaded properly
- Add !user add as an alias of !user set
- Added !ach
- & and other characters are now displayed as they are instead of being parsed
- Added user privclass data to $_CHAN[$channel]['list']
- Added response for failure of admin commands
20 July 2007, Gyn 0.9.4
- Fixed a bug with changing the channel in the input window
- Fixed a bug where blank messages were not put in $this->message
- Added !away
- Added search module
- Added convert module
- Fixed a problem with arg()
- Added !response
- Fixed an undefined index bug
- Fixed load order for globals and module includes
- Added responses to failure of commands such as say/join/part
- Added $_LAST
- Added !mod and implemented spam detection for all users
- Fixed a bug with e_recv_kicked.cls
16 July 2007, Gyn 0.9.3
- Abbr tags are no longer displayed
- Bot can no longer join official chats
- Fixed a small input window bug
- Moved pk() to connection::authtoken()
- Modified the info command
- Added support for zipped modules
- Fixed some improper uses of handle::error()
- Added !term
- Added the access file
- Fixed a bug where #s were not added to startup channels
- Changed access levels of some commands
- Fixed a problem with parse::chat()
- Fixed a typo in the event class
- Removed references to $this->input where it's no longer needed
- Updated store::data() and delete::file()
- Fixed a bug where nothing could be sent from the input window until a message was received
- Fixed a bug that caused some commands to malfunction when sent through the input window
- Fixed a typo in the command class that caused built-info info commands to malfunction
- Added !echo
- Added restricted access and error messages to allow/deny
16 July 2007, Gyn 0.9.2
- Added $this->message etc to events
- Updated f() to support nonexistent files
- Fixed nonexistent file bug with load::ini(), cleaned up load::data()
- Added !chan
- Updated load::settings() to parse all startup-join channels
- Removed the no longer used $self parameter from f()
- Fixed improper usage of parse_ini_file()
- Changed some references to load class from inside itself to self
- SELF_ACCESS is now off by default
- The bot will now disconnect from dAmn if it starts spamming
- Pings are no longer displayed
- Fixed extra options in gyn-other.php
- Fixed successful disconnect packet bug
- Fixed improper usage of trigger_error()
15 July 2007, Gyn 0.9.1
- Fixed the reboot command
- Added trigger checking
15 July 2007, Gyn 0.9
- First release
Alpha
24 May 2007, Gyn 0.8.1
- Not intended as a public release, I have uploaded it for anyone curious
20 April 2007, Gyn 0.8
- Not intended as a public release, I have uploaded it for anyone curious
Pavement (Pre-Alpha)
Pavement is the precursor to Gyn. I have publicly released this version for anyone interested in taking a look at it. It is NOT intended to be used as a real bot.
25 July 2007, Pavement 0.5
- Publicly released
- Fixed a mistake where I forgot to change the version from 0.4 to 0.5
24 December 2006, Pavement 0.5
- Privately released to a few people

