From Botdom Wiki
Jump to navigation Jump to search
Amphino Run.png
Developer(s): photofroggy
Programming language: PHP
Development state: Discontinued
Source model: Open source
Last stable release: 0.8b (24th June 2008)
Last preview release: 0.2 (17th September 2007)
License type: Free software (MIT)

Discontinued Project
This project has been discontinued. This project has no available downloads

Codename Amphino is a project by photofroggy. I got bored, 'nuff said. This bot is being made from scratch! No... really... Work was started on Amphino on 19th July 2007.

  • Amphino is now discontinued! Contra is now being developed in its place.


Amphino is intended to be a flexible bot with ease of use and wide functionality, and possibly compatibility with other bots! So yeah, it will have all the fancy lights and bells on top of the usual bot stuff. Also, I'm probably going to overfeature this bot like there's no tomorrow... when I'm able to do so.... which will be a while...

Beta testing

Amphino is now publicly available! It is still in Beta though... so please help by providing feedback on the talk page. It would also help if you reported any bugs you find.

To do

  • Finish the dAmn class.
  • Add more functions.
  • Add more commands.
  • Over feature to no end.
  • Write more documentation.
  • GUI?
  • Finish the input console.
    • Port the input console.

Known bugs

  • .command file could work better
  • Apple makes things awkward by not allowing double-click to work properly on the .command files.
  • Text can't be read on a white command line interface.


  • Electricnet - Thanks for testing Amphino on a Unix system.
  • Users of #Botdom - Thanks for putting up with my tests.
  • Hakumiogin - Thanks for providing inspiration for a much more flexible events system.
  • ManjyomeThunder - For giving advice and ideas for Amphino, directly and indirectly.
  • Infinity0 - Providing working .sh files and finding numerous bugs.
  • If you think you should be here, poke me.


Read documentation on Amphino on Botdom Documentation.

0.8b Beta

(24th June 2008)

  • Fixed a small bug which caused Amphino to run in debug mode on first run.
  • Fixed other small bugs.
  • Restructured the dAmn API slightly so that channel data is stored in arrays.

0.8a Beta

(22nd June 2008)

  • Fixed problems with colours.
    • The bot now asks about colours if it needs to.
  • Fixed one or two small bugs.
  • Added command !system.
    • This command tells you which OS the bot is running on, and which version of PHP is being used.
  • Removed modules which were left in by accident...

0.8 Beta

(22nd June 2008)

  • Fixed some bugs.
  • Added an optional startup menu.
  • Added a Launcher.
  • Cleaned up the code.
  • Added a debug mode.
  • Moved function f() into the launcher script.
  • Fixed bugs in module data functions.
  • Created module function Unlink(file), allowing modules to delete module data files
  • Now using the MIT License.

0.7c Beta

(25th May 2008)

  • Fixed one or two minor bugs.
  • Added colours to the console output!
    • You must use something like Cygwin to run Amphino to see the colours, if you are on windows.

0.7b Beta

(19th May 2008)

  • Fixed bugs inherent from moving things around in version 0.7 Beta.
  • Refined the configuration builder slightly.

0.7a Beta

(15th May 2008)

  • Fixed a bug in the commands command.

0.7 Beta

(15th May 2008)

  • Added support for multiple connections.
  • Rearranged the file structure.
  • Added a configuration builder.
  • Put dAmn into a module.
  • Made everything more OOP.
  • Fixed a bug in time_length();
  • Altered the way the console displays messages.

0.6.7 Beta

(30th March 2008)

  • Amphino now comes with AI!
    • Use !ai (on/off) to turn it on and off.
  • Fixed the timer class. Timers weren't being triggered properly after changing the core.
  • Added !admin command to the dAmn class.
  • Updated !module info to work properly.
  • Updated !dsay to actually work.

0.6.6 Beta

(29th March 2008)

  • This one is just a quick bug fix.

0.6.5 Beta

(29th March 2008)

  • Changed the module system again.
    • Ported all included modules to the new system.
  • No more hidden commands. All of them are contained in a module somewhere.

0.6 Beta

(27th March 2008)

  • Massive release! But only for a few reasons!
  • Changed the layout of the bot's files.
  • Completely rewritten the dAmn processsing!
    • Allowed me to delete alot of other code.
    • All packets are now parsed and logged appropriately!
  • Changed the user system.
    • User levels are now editable!
      • Not yet possible through commands, but there is a configuration file in the conf folder for it.
      • The functions to directly edit the user levels do exist.
    • New class available for use. <php-inline>user::$priv</php-inline>

<php><?php // Functions available.

user::$priv->Number($name); // Returns the number of privclass $name. user::$priv->Name($number); // Returns the name of privclass $number. user::$priv->commands($privclass); // Returns an array of the commands available to $privclass. Inactive commands are enclosed in bold. user::$priv->exists($privclass); // Checks whether $privclass is a privclass. user::$priv->addClass($name, $number); // Adds $name with order $number to the access levels. user::$priv->delete($privclass); // Deletes $privclass from the access levels. user::$priv->rename($number, $new_name); // Renames the access level with order $number to $new_name.

// NOTE: These functions are only to do with the bot's internal user system and access levels. ?></php>

  • Removed easy modules. They were too messy.
  • Moved old modules to extensions.
  • Cleaned up the core bot file.
  • Fixed disconnection handling, again. It works properly this time. No, really.
  • Cleaned up other bot files.
  • Deleted redundant code in the log class.
  • Changed the way configuration works.
    • The main configuration file is config.php in storage/conf/
    • User levels now have a php config file in the same directory.
      • This file also stores the bot users.
    • Other configurations might be added to this in future release, keep your eyes open!
  • NEW MODULE! Spin the bottle 1.5 (preview release) comes with this version of Amphino!
  • Added a random bit of connotation in the source code here and there. Have fun exploring.

0.5c Beta

(30th January 2008)

  • This is just a bug fix release! It patches the dAmn bug mentioned on this page.

0.5b Beta

(4th January 2008)

  • We now have some documentation! There are setup instructions only at this time.
  • Created the module object.
    • New module API created.
      • Old extensions have been ported to the new system.
      • Old module system can still be used to create extensions.
    • Every module is stored as an object.
    • Every command and event in a module is stored as an object in the module object.
  • Hooked the new module system into the rest of the core.
  • Split the system module into two.
    • Module "System" contains bot system commands.
    • Module "dAmn" contains dAmn commands.
  • Added a stop watch to the timer class.
  • Made a shell script to run the bot on *nix systems.
  • Created the channel object.
    • Each channel joined is stored as an object.
    • <php-inline>dAmn::$properties</php-inline> now stored in <php-inline>System::$chat</php-inline>.
  • Changed the internal names of certain dAmn events to more logical names.
  • Fixed some bugs discovered while testing.

0.5a Beta

(19th December 2007)

  • Modified the Notes module.
    • Fixed bugs.
  • Fixed a small bug in <php-inline>time_length($time);</php-inline>
  • Added a timer class!
    • <php-inline>Timer::addEvt($module, $time, $data);</php-inline> starts a timer for $module.
      • Returns an ID number for the event and its timer.
    • <php-inline>Timer::delEvt($id);</php-inline> deletes the event and timer with the ID $id.
    • <php-inline>Timer::triggerEvents();</php-inline> triggers stored events when their time is up.
    • <php-inline>Timer::Events(false);</php-inline> returns an array containing the stored events.
  • Added <php-inline>Modules::Notice($module, $message);</php-inline> to be used by modules.
  • Cleaned up the code.
  • Added more comments here and there.
  • Included a copy of bcompiler with the bot.
  • Created functions to ensure that all required PHP extensions are loaded.
  • Made it possible to connect to Demon servers (Not completed)
  • Added command dsay (delay say).
    • Says a message after a defined amount of seconds.
  • Added command tick.
    • Shows the speed of the bot in the console.
  • Removed script support. Developers MUST use modules or extensions.
    • Extensions are recommended.
  • Notes:
    • This release should work really well. That said, there is still no documentation available. Only use this bot if you have an idea of how bots work, and know a bit of PHP already.
    • Deleted the commands command by accident... It shall return! (Later).

0.5 Beta

(22nd October 2007)

  • Completely changed the way modules work.
  • Created a constructor for modules.
    • You can use the old module system, and the bot will construct a proper module from your stored modules.
  • Added a Note module!
  • Fixed some errors in disconnection handling, again...
  • Got rid of the $_MODULES global.
  • Changed modules into objects.
  • Changed commands into objects, apart from script commands.
  • Fixed problems with time_length();
  • Fixed errors with logging.
  • Added subcommand "inline" to command Members.
  • Fixed a problem in the "members" command.
  • Added more comments to the scripts.
  • Parsed more packets.
  • Added support for sending more packets. (commands not yet made)
  • Fixed the ping command.
  • Added command sysping to test the speed of commands.
  • Modules can now use the event "Cmd" (command)
  • Most Globals have been removed/moved to class variables.
  • Stopped using the loop speed limiter.

0.2 alpha

(12th September 2007)

  • Got rid of more global variables.
  • Fixed some disconnection handling errors.
  • Fixed some errors in command "members".
  • Fixed some errors in command "trigger".
  • Fixed a problem with trigcheck.
  • Made the f() function more dynamic.
  • Added function Amphino::Init();
  • Added command "uptime".
  • Added internal notices.
  • Updated the syntax variables for the "about" command.
  • Removed PHP's socket error messages.

0.1 alpha

(9th September 2007)

  • Cleaned up some of the scripts.
  • Fixed some logging errors.
  • Fixed a few smaller bugs.
  • Made console logging optional.
  • Got rid of a few global variables.

0.0.9 pre-alpha

(8th September 2007)

  • Created more functions for the internal class.
    • internal::Warning($message); displays message as a warning in the console.
    • internal::Write($message); the same as "echo", but the output is made to fit in with the rest of the messages.
  • Duplicated internal class and named it "Bat", for easier access.
  • Added more logging features.
  • Revisited disconnection handling.
  • Fixed a bug in the members list.

0.0.8 pre-alpha

(5th September 2007)

  • Refined disconnection handling.
  • Made the code neater.
  • Shifted a few things around.

0.0.7 pre-alpha

(4th September 2007)

  • Disconnects properly now.
  • Refined disconnections.
  • Tweaked the chatroom user list a bit.

0.0.6 pre-alpha

(2nd September 2007)

  • Added a dAmn user list.
  • dAmn users handled properly.
  • User class almost completed.

0.0.5 pre-alpha

(10th August 2007)

  • Added a user class.
  • Moved commands to modules.
  • Added user access levels.
  • Fixed the buffer!

0.0.4 pre-alpha

(6th August 2007)

  • Fixed a bug in the module system.
  • dAmn class can now handle dAmn properties.

0.0.3 pre-alpha

(23rd July)

  • Changed things around a bit in core classes.
  • Module system added. Loads modules successfully.
  • Module commands now work.

0.0.2 pre-alpha

(22nd July 2007)

  • Added disconnection handling.
  • Added quit command.
  • Improved message logging.
  • Started error logging.
  • dAmn class now processes a few more packets.

0.0.1 pre-alpha

(20th July 2007)

  • Core bot file created and nearly complete
    • Awaiting other files and folders.
  • dAmn class added and operational - incomplete.
    • trigcheck available.
    • Parses messages.
    • Parses join/part/kick.
    • Logs in successfully.
    • Connects to dAmn successfully.
  • Added "internal" class - incomplete.
  • Added "load" class - incomplete.
  • Added system variables.
  • Added "ping" command.
  • Added "join" command.
  • Added "part" command.
  • Added "say" command.

0.0.0 pre-alpha

(19th July 2007)

  • Project started.

Photofroggy helps with

Heckert GNU white.png
This work is released under the GNU General Public License, which allows you to freely use, modify, or distribute it, as long as you give these rights to subsequent users of (this work or your derivative of it) too.