$(eval)
Returns the output of custom JavaScript code using Fossabot's own JavaScript engine.
The maximum execution time of your code may not exceed 50ms, and there is a limit of one evaluation per action (command, keyword, or timer).
Parameters
This variable takes one required parameter that is JavaScript code to be executed.
- Please be aware of the following:
- All code has to be wrapped in double quotes, example:
$(eval "123 + 456") - Only single quotes can be used to indicate a string, example:
$(eval "var test='hello world';test") - Both
"and\have to be escaped thrice when used within a string, example:$(eval "'Félix \\\"xQc\\\" Lengyel'") - Special characters have to be escaped twice, example:
$(eval "'1 (blabla) 3'.replace(/\\(.*\\)/, '2')")
- All code has to be wrapped in double quotes, example:
Example Usage
A simple command with the name
!sumand a response of the following:$(eval "$(index1) + $(index2)")If triggered by
!sum 123 456, would return the following response:579A more advanced command, a recreation of
!uptime, with a response of the following:$(eval "var cname='$(channel.login)';var sname='$(sender.login)';var utime=`$(uptime)`; `${utime}` !== '[Error: Stream is offline.]' ? `${(sname === cname ? 'You have been' : cname + ' has been')} live for ${utime}.` : `${(sname === cname ? 'Your' : 'The')} stream is currently offline.`")If triggered in your own channel while you are offline, would return the following response:
Your stream is currently offline.If triggered in your own channel while you are online, would return the following response:
You have been live for 1 hour and 21 minutes.If triggered in Aiden's channel while he is offline, would return the following response:
The stream is currently offline.If triggered in Aiden's channel while he is online, would return the following response:
aiden has been live for 2 hours and 5 minutes.
Error Output
In case of a standard JavaScript error, returns the specific JavaScript error.
In case an evaluation times out, returns the following:
[Error: JavaScript evaluation timed out on remote server.]In case an evaluation fails to execute, returns the following:
[Error: Failed to execute JavaScript on remote server.]