SkillAgentSearch skills...

Termux

Node.js module for Termux-API

Install / Use

/learn @roccomuso/Termux
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

termux

NPM Version Dependency Status JavaScript Style Guide

Comprehensive Node.js module for Termux-API

Install

  1. Make sure you've first installed the termux-api on your Android device from the Play store.

  2. Then install the scripts with apt install termux-api.

  3. Finally get this node module:

    $ npm install --save termux

Example usage

const api = require('termux')

if (!api.hasTermux) process.exit(1)

api.vibrate()
   .duration(1000)
   .run()

api.clipboardGet()
   .run()
   .then(function (text) {
     // ...
   })

Available methods

Every command instance has the .run() method that must be used to execute the command. It always return a Promise (eventually with results).

| Method | Description | Parameters | |--------|-------------|-----------| | .toast() | Show a toast message | | | | set the text to show | .text(<str>) | | | show the toast for a short while | .transient() | | .vibrate() | Vibrate your phone | | | | set the duration in milliseconds | .duration(<ms>) | | | force vibration even in silent mode | .force() | | .batteryStatus() | Get the status of the device battery | | | .cameraInfo() | Get info about device camera(s) | | | .cameraPhoto() | Take a photo and save it to a file (JPEG format) | | | | select the camera by ID | .camera(<id>) | | | output photo file (NB. use an absolute path!) | .outputFile(<str>) | | .clipboardGet() | Get the system clipboard text | | | .clipboardSet() | Set the system clipboard text | | | | text to copy in clipboard | .text(<str>) | | .contactList() | Set the system clipboard text | | | .contactList() | List all contacts | | | .dialog() | Show a text entry dialog | | | | dialog title | .title(<str>) | | | hint to show when input is empty | .hint(<str>) | | | use a textarea with multiple lines | .multipleLines() | | | enter the input as a password | .password() | | .download() | Download a resource using the download manager | | | | set the resource to download | .url(<str>) | | | title for the download request | .title(<str>) | | | description for the download request | .description(<str>) | | .infraredFrequencies() | Query the infrared transmitter's supported carrier frequencies | | | .infraredTransmit() | Transmit an infrared pattern | | | | specify the pattern to transmit as array of numbers | .frequency(<Array>) | | .location() | Get the device location | | | | location provider (gps/network/passive) | .provider(<enum>) | | | kind of request to make (once/last/updates) | .request(<enum>) | | .notification() | Display a system notification | | | | notification content to show | .content(<str>) | | | notification id (will overwrite any previous notification with the same id)| .id(<int>) | | | notification title to show | .title(<str>) | | | notification url when clicking on it | .url(<str>) | | | notification action when clicking on button1 | .button1(<str>, <str>) | | | notification action when clicking on button2 | .button2(<str>, <str>) | | | notification action when clicking on button3 | .button3(<str>, <str>) | | | notification action when tapping on it | .tap(<str>) | | | notification action when deleting it | .delete(<str>) | | | notification image to show | .image(<path>) | | | makes notification unremovable, need .id | .pin() | | .share() | share a file specified as argument | | | | provide a file to share | .file(<path>) | | | which action to perform on the file (edit/send/view) | .action(<enum>) | | | content-type to use (default: guessed from file extension) | .contentType(<str>) | | | share to the default receiver instead of showing a chooser | .default() | | | title to use for shared content (default: shared file name) | .title(<str>) | | .smsInbox() | List received SMS messages | | | | show dates when messages were created | .date() | | | limit in sms list (default: 10) | .limit(<int>) | | | show phone numbers | .showNumbers() | | | offset in sms list (default: 0) | .offset(<int>) | | .smsSend() | Send a SMS message to the specified recipient number(s) | | | | Recipient number(s), gotta be an Array | .numbers(<Array>) | | | The SMS text | .text(<str>) | | .telephonyCellInfo() | Get information about all observed cell information from all radios on the device | | | .telephonyDeviceInfo() | Get information about the telephony device | | | .ttsEngines() | Get information about the available text-to-speech (TTS) engines | | | .ttsSpeak() | Speak text with a system text-to-speech (TTS) engine | | | | Text to speak, passed to the engine | .text(<str>) | | | TTS engine to use, see .ttsEngines() | .engine(<id>) | | | language to use (may be unsupported by the engine) | .language(<enum>) | | | pitch to use in speech (1.0 is normal) | .pitch(<num>) | | | speech rate to use (1.0 is normal) | .rate(<num>) | | | audio stream to use (ALARM/MUSIC/NOTIFICATION/RING/SYSTEM/VOICE_CALL) | .stream(<enum>) |

Dependency

It uses has-termux-api to check if termux-api is installed.

Debug

Set the env DEBUG: DEBUG=termux

Author

Rocco Musolino (@roccomuso)

License

MIT

Related Skills

View on GitHub
GitHub Stars183
CategoryDevelopment
Updated26d ago
Forks22

Languages

JavaScript

Security Score

100/100

Audited on Mar 14, 2026

No findings