Git Product home page Git Product logo

actiona's Introduction

ubuntu-gcc-build windows-msvc-build License: GPLv3

Actiona

Actiona is an automation tool that allows you to execute many actions on your computer such as emulating mouse clicks, key presses, showing message boxes, editing text files, etc. Tasks can be created using a simple editor or using the EcmaScript (JavaScript) programming language for more customization. Actiona is cross-platform.

Please visit actiona.tools and the Discord server for more information.

Actions

Device emulation

  • Write text
  • Press a key
  • Move the mouse cursor (point or path)
  • Click somewhere on the screen
  • Rotate the mouse wheel
  • Wait for a key to be pressed

System interaction

  • Run a command (detached or not)
  • Kill a process
  • Display a notification
  • Wait for a pixel color on the screen
  • Restart/stop/lock the computer
  • Open an URL
  • Play a sound
  • Find an image on the screen
  • Use text to speech

Windowing system interaction

  • Display a message box
  • Enter some data
  • Wait for a window
  • Close/move/resize/etc. a window

Data manipulation

  • Write/read a text file
  • Write/read a binary file
  • Write/read an INI file
  • Write/read into the registry
  • Write/read the clipboard
  • Read an environment variable
  • Copy a file
  • Download a file
  • Send an e-mail

Internal/flow manipulation

  • Pause the execution
  • Run Javascript code
  • Go to a line or label
  • Run a loop
  • Do nothing (more useful than you would think!)
  • Stop the execution
  • Set/read a variable
  • Wait for a particular time/date
  • Exit
  • Wait for a variable
  • Write into the app's console
  • Begin/end/call a procedure

Each action has parameters, and Javascript can be written in every field and will be run when the action is executed.

Contributing

Code contributions as PR are very welcome. Sponsoring is also possible either through Liberapay, GitHub Sponsors or using the Ethereum (ETH) cryptocurrency: 0x58bb43Afd8Aead70A89F739c61568b62E0336094 -- thanks!

Monetary contributions will be used to pay for the rental of the dedicated server hosting Actiona's updater and installers (~€37/month), and to pay for the required code signing certificates on Windows (a few hundred pounds at least).

License

Actiona is licensed under the GNU/GPLv3 License, but includes code and other resources licensed under other licenses:

actiona's People

Contributors

jmgr avatar niconil avatar pwntester avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

actiona's Issues

Feature request: add pauses between keys with writeText()

It would be great if an optional delay could be added between each character when using the writeText() function.
The writeText() function seems like the best way to output text in a script. However some programs have difficulty accepting such fast input.
Thanks

Git versión no compile in Gentoo

main.cpp:105:10: error: #error ("You need Qt 5.2.0 or later to compile Actiona Executer");
#error("You need Qt 5.2.0 or later to compile Actiona Executer");
^
Makefile:254: recipe for target 'generated/main.o' failed
make[1]: *** [generated/main.o] Error 1
make[1]: Leaving directory '/opt/actionaz/actexecuter'
Makefile:156: recipe for target 'sub-actexecuter-make_default-ordered' failed
make: *** [sub-actexecuter-make_default-ordered] Error 2

...but qt5 is not in the requeriments...

Script in Script

Hello,
How to integrate secondary scripts (.ascr) from a first (.ascr) ?

Drop bundled libqxt?

Hi,

I've been working on packaging this into Fedora for more than a year. I found that libqxt has been bundled into sources. Since libqxt has been packaged by many distros, is it OK to ge rid of these in sources?

Thanks.

Actiona/Ubuntu 17.10

I have been a problem to use the action and Ubuntu 17.10, many actions don't work properly such as "Find Image" and " Move cursor". Can you help me?
Thanks!

Choosing a pixel on the screen always returns a white color

In any action that asks the user to choose a pixel, like Pixel Color, the returned color is always white. This is probably because the mouse cursor gets "screen shot" instead of the targeted pixel.

We could try to have the exact same behaviour as with Actiona 3.8.0 (Qt 4), but since some Win32toQt functions have disappeared with Qt 5 this would require to integrate some implementation within Actiona.

Forum topic: https://jmgr.net/forum/viewtopic.php?f=27&t=1407 (French)

Detect key press

Hello.

There's one important feature that is currently missing in Actiona : detect key press.

If there was a way to detect keys used on the keyboard (as soon as they are pressed), it would allow many new possibilities of script creation.

Related forum post:
https://www.jmgr.net/forum/viewtopic.php?f=30&p=14235#p14235


Il y a actuellement une fonctionnalité qui manque cruellement dans Actiona: la détection de touches du clavier.

S'il y avait un moyen de détecter les touches qui sont utilisées sur le clavier (dès que l'utilisateur appuie sur elles), cela permettrait de nombreuses nouvelles possibilités de création de script.

J'espère vraiment que cette fonction puisse être ajoutée dans une prochaine version de Actiona.

openSUSE: libraries

Hello.

I decided to make an openSUSE package. I got a runtime error:

Unable to load 1 action(s):
libActionPackData: "Cannot load library /usr/lib/actionaz/actions/libActionPackData.so: > (librudeconfig.so.1: cannot open shared object file: No such file or directory)"

%rpm -ql actionaz | grep librudeconfig
/usr/lib/actionaz/librudeconfig.so.1
/usr/lib/actionaz/librudeconfig.so.1.0
/usr/lib/actionaz/librudeconfig.so.1.0.0

How can libraries directory be changed to set it to lib64 for x64 hosts?

Failed to start "Creating action dialog pixel color"

Actiona can't start. This is my terminal output (debian 9 - testing):

(actiona:30457): GLib-GObject-WARNING **: cannot register existing type 'GtkWidget'

(actiona:30457): GLib-GObject-WARNING **: cannot add class private field to invalid type '<invalid>'

(actiona:30457): GLib-GObject-WARNING **: cannot add private field to invalid (non-instantiatable) type '<invalid>'

(actiona:30457): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(actiona:30457): GLib-GObject-WARNING **: cannot register existing type 'GtkBuildable'

(actiona:30457): GLib-GObject-CRITICAL **: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(actiona:30457): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(actiona:30457): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(actiona:30457): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(actiona:30457): GLib-GObject-WARNING **: cannot add private field to invalid (non-instantiatable) type '<invalid>'

Actionaz crash while using search image

The new version of actioanz seems to have a hard coded bug. If you select search image -> image to search for and go on with "select screen" or "capture windows" two times in row after clicking finish actionaz will likely immediately crash on Windows 7 x64. Windows is telling you that the program doesn't work any more must be closed.

Pictures below:
actionaz_bug1
actionaz_bug2
actionaz_bug3

Actionaz stuck when executing "var mouse = new Mouse();" under Linux

Hello,

I usually run actionaz on Windows for executing external JS code to automatize my actions.
But recently, I tried to adapt it on Linux (xubuntu-12.04-desktop-i386) and actionaz just gets stuck when trying to run the following line:
var mouse = new Mouse();

I have to use "xkill" to close the not responding actionaz application.

Note: My xubuntu is running in a VM (VMWare Player).

I would love to understand why this happens because Actionaz is my favorite tool for automatizing things :)

JavaScript scripts support

Hi, thank you very much for Actiona.

I want to say that visual editing is not good for complex scripts as it is very complicated and does not allow hard references to code (only code lines).

Many developers wants to have ability to create automation scripts with ecmaScript code. From this code developer can call Actiona's functions i.e. findImage like var pos = actiona.core.findImage(params)

It will make Actiona the best automation tool ever.

Data Input Action

Not a defect, this is already working as expected (probably). -- So this would be a feature add.

If I click close or cancel on the input dialog, it would be nice to be able to set that action inside the data input edit action setup.
ie -- Cancel button action --> (could be drop down with some basic choices... Stop script, continue with default, roll your own...)

--- Same goes for clicking the [x] to close the dialog.

Building on windows

Could we possibly get a some instructions for setting up a windows build environment?
Can I cross-compile Actiona in Linux for windows? Or do we need to setup windows environment?

Lignes de commande ne fonctionnent plus ?

Bonjour,

j'essaye d'utiliser les lignes de commande actiona ( https://wiki.actiona.tools/doku.php?id=en:commandline ) sur Windows mais soit je m'y prend mal soit elles bug :-/

Quand je fais un actiona -v, la console ne m'affiche rien et me permet d'executer une nouvelle commande.

Le but de final serait de réussir à lancer un script Actiona depuis un autre script Actiona mais pas miyen de le faire fonctionner jusque maintenant.

Avez vous une idée d'où pourrait venir le soucis ?

J'ai fait les tests sur Windows 7 et 10 avec actiona 3.8 et 3.9

QT_STYLE_OVERRIDE='gtk2' crashes actiona

Due to this, actiona looks like default QT theming instead of using GTK theming. After installing qt5-styleplugins as descibed here and then exporting QT_STYLE_OVERRIDE='gtk2' actiona crashes.

(actiona:9217): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplayManager'

(actiona:9217): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(actiona:9217): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

(actiona:9217): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(actiona:9217): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(actiona:9217): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(actiona:9217): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(actiona:9217): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplay'

(actiona:9217): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(actiona:9217): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(actiona:9217): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(actiona:9217): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
[1]    9217 segmentation fault (core dumped)  actiona

Play Sound not working

The play sound action didnt work until I first installed libqt5multimedia5-plugins.
Should this be installed as a dependent package?

More informations about actions

Hello.

Currently, if you look at the Actiona window, it's hard to know what actions do (at least, until you double click on one of them to see what it does). It doesn't help having a quick overview of the whole macro.

screenshot002

Here is my suggestion:

  • add other columns to display actions' parameters:
    screenshot002

  • a right click on the column-bar could display a list of possible columns for the user to see (just like what Windows Explorer allows):
    screenshot004

Actiona fails to launch under Debian Stretch

How to reproduce the error

thoreau@Thoreau:~$ sudo apt-get install actionaz
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  actiona libopencv-contrib2.4v5 libopencv-gpu2.4v5 libopencv-legacy2.4v5
  libopencv-ml2.4v5 libopencv-ocl2.4v5 libopencv-photo2.4v5
  libopencv-stitching2.4v5 libopencv-superres2.4v5 libopencv-ts2.4v5
  libopencv-videostab2.4v5 libqt5multimedia5 libqt5multimediawidgets5
  libqt5opengl5 libqt5scripttools5 libqt5xmlpatterns5
The following NEW packages will be installed:
  actiona actionaz libopencv-contrib2.4v5 libopencv-gpu2.4v5
  libopencv-legacy2.4v5 libopencv-ml2.4v5 libopencv-ocl2.4v5
  libopencv-photo2.4v5 libopencv-stitching2.4v5 libopencv-superres2.4v5
  libopencv-ts2.4v5 libopencv-videostab2.4v5 libqt5multimedia5
  libqt5multimediawidgets5 libqt5opengl5 libqt5scripttools5 libqt5xmlpatterns5
0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/5,324 kB of archives.
After this operation, 19.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package libqt5scripttools5:amd64.
(Reading database ... 176049 files and directories currently installed.)
Preparing to unpack .../00-libqt5scripttools5_5.7.1~20161021+dfsg-2_amd64.deb ...
Unpacking libqt5scripttools5:amd64 (5.7.1~20161021+dfsg-2) ...
Selecting previously unselected package libopencv-ml2.4v5:amd64.
Preparing to unpack .../01-libopencv-ml2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-ml2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-contrib2.4v5:amd64.
Preparing to unpack .../02-libopencv-contrib2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-contrib2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-legacy2.4v5:amd64.
Preparing to unpack .../03-libopencv-legacy2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-legacy2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-photo2.4v5:amd64.
Preparing to unpack .../04-libopencv-photo2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-photo2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-gpu2.4v5:amd64.
Preparing to unpack .../05-libopencv-gpu2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-gpu2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-ocl2.4v5:amd64.
Preparing to unpack .../06-libopencv-ocl2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-ocl2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-stitching2.4v5:amd64.
Preparing to unpack .../07-libopencv-stitching2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-stitching2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-superres2.4v5:amd64.
Preparing to unpack .../08-libopencv-superres2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-superres2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-ts2.4v5:amd64.
Preparing to unpack .../09-libopencv-ts2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-ts2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libopencv-videostab2.4v5:amd64.
Preparing to unpack .../10-libopencv-videostab2.4v5_2.4.9.1+dfsg1-1_amd64.deb ...
Unpacking libopencv-videostab2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Selecting previously unselected package libqt5multimedia5:amd64.
Preparing to unpack .../11-libqt5multimedia5_5.7.1~20161021-2_amd64.deb ...
Unpacking libqt5multimedia5:amd64 (5.7.1~20161021-2) ...
Selecting previously unselected package libqt5opengl5:amd64.
Preparing to unpack .../12-libqt5opengl5_5.7.1+dfsg-3+b1_amd64.deb ...
Unpacking libqt5opengl5:amd64 (5.7.1+dfsg-3+b1) ...
Selecting previously unselected package libqt5multimediawidgets5:amd64.
Preparing to unpack .../13-libqt5multimediawidgets5_5.7.1~20161021-2_amd64.deb ...
Unpacking libqt5multimediawidgets5:amd64 (5.7.1~20161021-2) ...
Selecting previously unselected package libqt5xmlpatterns5:amd64.
Preparing to unpack .../14-libqt5xmlpatterns5_5.7.1~20161021-3_amd64.deb ...
Unpacking libqt5xmlpatterns5:amd64 (5.7.1~20161021-3) ...
Selecting previously unselected package actiona.
Preparing to unpack .../15-actiona_3.9.2-1_amd64.deb ...
Unpacking actiona (3.9.2-1) ...
Selecting previously unselected package actionaz.
Preparing to unpack .../16-actionaz_3.9.2-1_all.deb ...
Unpacking actionaz (3.9.2-1) ...
Setting up libopencv-ml2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Processing triggers for mime-support (3.60) ...
Processing triggers for desktop-file-utils (0.23-1) ...
Setting up libopencv-legacy2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Setting up libopencv-ts2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Setting up libopencv-contrib2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Setting up libqt5opengl5:amd64 (5.7.1+dfsg-3+b1) ...
Setting up libqt5multimedia5:amd64 (5.7.1~20161021-2) ...
Setting up libqt5xmlpatterns5:amd64 (5.7.1~20161021-3) ...
Setting up libqt5scripttools5:amd64 (5.7.1~20161021+dfsg-2) ...
Processing triggers for libc-bin (2.24-9) ...
Setting up libopencv-ocl2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Processing triggers for shared-mime-info (1.8-1) ...
Processing triggers for gnome-menus (3.13.3-8) ...
Setting up libopencv-photo2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Processing triggers for hicolor-icon-theme (0.15-1) ...
Setting up libqt5multimediawidgets5:amd64 (5.7.1~20161021-2) ...
Setting up libopencv-gpu2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Setting up libopencv-stitching2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Setting up libopencv-videostab2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Setting up libopencv-superres2.4v5:amd64 (2.4.9.1+dfsg1-1) ...
Setting up actiona (3.9.2-1) ...
Setting up actionaz (3.9.2-1) ...
Processing triggers for libc-bin (2.24-9) ...
thoreau@Thoreau:~$ actiona

(actiona:2599): GLib-GObject-WARNING **: cannot register existing type 'GtkWidget'

(actiona:2599): GLib-GObject-WARNING **: cannot add class private field to invalid type '<invalid>'

(actiona:2599): GLib-GObject-WARNING **: cannot add private field to invalid (non-instantiatable) type '<invalid>'

(actiona:2599): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(actiona:2599): GLib-GObject-WARNING **: cannot register existing type 'GtkBuildable'

(actiona:2599): GLib-GObject-CRITICAL **: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(actiona:2599): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(actiona:2599): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(actiona:2599): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(actiona:2599): GLib-GObject-WARNING **: cannot add private field to invalid (non-instantiatable) type '<invalid>'

Result

The application GUI then launches, but freezes while loading "Creating action dialog Pixel color".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.