Contents:

Upgrading to xelagot 3.607 or newer

Xelagots 3.607 and newer have a different directory structure than previous versions. The new directory structure will be made automatically when running the bot for the first time after an upgrade, but a few steps must be completed by the user or hosting service. Run the bot once to upgrade from 3.606 or older to 3.607 or newer, close the bot application, and follow the instructions below (user action).

old directory new directory comments
Script User the Script folder is renamed User. A few new folders are created inside this folder, see below.

User action:
none, unless you end up with both a User and a Script folder (something went wrong during the upgrade). If this is the case, move the contents of the Script folder to the new User folder, and delete the Script folder.
DeeJay User\_DeeJay The functionality of the DeeJay folder is transfered to the new User\_DeeJay folder.

User action:
move the contents of the DeeJay folder to the new User\_DeeJay folder, including the folder CustomSpeakers and its contents. You may then delete the old DeeJay folder.
Downloads User\_Downloads The Downloads folder is now used exclusively by the bot for internal web downloads (e.g. downloading the avatars.dat file). Web downloads called by Verbal Command or Action Script go by default to the new User\_Downloads folder.

User action:
Move the contents (if any) of the Downloads folder to the new User\_Downloads folder. Do not delete the old Downloads folder, as it is still used by the bot.
Logs User\_Logs The functionality of the Logs folder (i.e. storing the application logs) is transfered to the new User\_Logs folder.

User action:
Go to the new User\_Logs folder and delete any files there (the bots may have made new logs during the upgrade). Move the contents of the old Logs folder to the new User\_Logs folder. Delete the old Logs folder.
Survey User\_Survey The functionality of the Survey folder (and sub folders) is transfered to the new User\_Survey folder.

User action:
Move the contents of the old Survey folder and sub-folders to the new User\_Survey folder. Delete the old Survey folder.

Action Scripts, which were in the old Script folder, are now in the new User folder (same folder, different name). Hosting services that have given users FTP access to the Script folder please make the necessary changes, the Script folder name has ceased to exist!

There are changes in the ini files:

A new concept is introduced, due to security changes: USBD. See next section.


 

User and Script Base Directory (USBD)

For xelagots version 3.606 or lower, USBD means the Script folder, and you need not read what follows below, as it applies to version 3.607 or higher.

Xelagot version 3.607 introduced changes in the directory structure. The old Script folder was renamed User, and functions by default as User and Script Base Directory or USBD.

What is this USBD?

It has the same function as the old Script folder, i.e. storing scripts that the bot can run. But it has much more: a few folders that were in the main bot folder have been moved to the USBD: DeeJay (and its sub-folder CustomSpeakers), Downloads, Logs and Survey, and have been renamed _DeeJay, _Downloads, _Logs, _Survey.

The reason behind this change is that a new file access security policy was introduced for scripts, verbal commands and write to bot commands. By default, if security is on, scripts and other files must be in the USBD or in one of its sub-folders for scripts, verbal commands and write to bot commands to be able to read or load them or write to them. This was done to protect other files in the computer from accidental or malicious access.

Question 1: Why talk of USBD if on the hard disk this is the User folder?

Answer: Because it needn't be the User folder, it can be any folder inside the User folder. To appoint another folder as USBD for a specific bot in the application, stop the bot application and open the bot's ini file, go the corresponding [Bot...] section, find a key called ScriptBaseDir. By default, it's value is empty. Suppose you have a folder in the User folder called Mary and want this to be the User and Script Base Directory or USBD for this bot; write
ScriptBaseDir=Mary
save the ini file and start the xelagot. This system allows bots in the same application to have their own USBD. This is usually only needed if a xelagot application has bots belonging to different owners, as may be the case for hosted bots.

Question 2: My bot uses a script that writes files to the "C:\my web" folder, that is outside the USBD. Now it does not work any more! How can I fix this?

Answer: Easy. Stop the bot application, open its ini file, go to its [Bot...] section, find the key called ScriptAccessPaths. Write
ScriptAccessPaths="c:\my web",
save the ini file and restart the bot. Notice the double-quotes surrounding the path name, and the trailing comma. Double-quotes are needed if the path contains spaces or commas. The comma at the end is required if the first character in this string is a double-quote, and the string ends in a double quote. Always end this line with a comma to be on the safe side!
If you need to add more paths, separate them with a comma:
ScriptAccessPaths="c:\my web",d:\Test,
Symbolic path notation is also allowed:
ScriptAccessPaths="c:\my web",d:\Test,$:objects\,
see here for a list of symbols.

Question 3: I don't want all this new security stuff. How can I get rid of it?

Answer: At your own peril, open the bot's ini file while it is not running, go to the [Parameters] section, change the value of FileAccessRestricted to 0. Reset FileAccessRestricted=1 if you change your mind!