Project StarLight · Android

Messenger auto-reply, powered by scripts

Write reply rules in JavaScript, then extend the app with plugins.

Android 8.0+ · Free · GPL-3.0 open source

StarLight home screen and StarLight AI
Scroll

Features

Build and run your bots in one app

Write, fix and monitor your scripts without leaving your phone.

  • StarLight AI

    Build bots by chatting with the AI service you connect. It writes and fixes the code, then tries it in the debug room.

  • Projects

    Keep each bot in its own project and turn it on or off with a single switch. Export it as a zip file to move it.

  • Built-in code editor

    Edit scripts right on your phone with completion, linting and find and replace.

  • NeonJS engine

    Our own NeonJS engine brings ES2025 syntax, modules and fetch, with code optimization for faster runs.

  • Plugin platform

    Add languages, APIs and other messengers from the plugin store. Plugins work in the GitHub build.

  • MessengerBot compatibility

    Scripts written with the familiar response(room, msg, sender, …) function or API2’s BotManager run too.

And also
  • Send photos and files
  • Test in the debug room
  • Home screen widgets and logs
  • Load .env variables
  • Send messages by room ID
  • Tablet and foldable layouts

Familiar code

Bring your existing scripts

With MessengerBot’s legacy style, a single response function is all you need. StarLight calls it whenever a message arrives.

  • Receives the familiar arguments: room, msg, sender and more
  • Reply to the same room with replier.reply()
  • Use ES6 syntax such as Promise and BigInt
response.js
// Called for every incoming message
function response(room, msg, sender, isGroupChat,
                  replier, imageDB, packageName) {
    if (msg === "/ping") {
        replier.reply("pong! ✦");
    }
}
build.gradle.kts
plugins {
    id("com.android.application")
    id("io.github.mooner1022.slplugin") version "0.3.0"
}

starlight {
    manifest {
        id = "my_plugin"
        mainClass = "com.example.MyPlugin"
        apiVersion = "0.3.2"
    }
}
# Deploy to the device and restart StarLight
$ ./gradlew deployDebugSlp -Pstarlight.restartApp=true

Plugin development

Build plugins in Kotlin

A StarLight plugin (.slp) is an Android APK with a manifest. The Gradle plugin takes care of building, validating and deploying it to your device. Plugins load in the GitHub build of StarLight.

  • Packages every build variant as an .slp file
  • Generates and validates the starlight.json manifest
  • Turns problems that would only show up at runtime into build errors
  • Deploys with adb, restarts the app and streams logcat

Download

Get started now

Install it from Google Play. If you need plugins, download the GitHub build’s APK instead.

GitHub build (APK)

Supports plugins and in-app updates. It can’t be installed alongside the Google Play build.

  • Release

    v1.0.1-261106

    The most thoroughly tested, stable build.

    Download
  • Beta

    v1.0.1-261106

    New features land here first.

    Download
  • Snapshot

    v1.0.1-261106

    The latest development build. It may be unstable.

    Download
  1. 1

    Install

    Install it from Google Play, or download the APK and open it.

  2. 2

    Grant permissions

    Allow notification access and the other permissions the app asks for.

  3. 3

    Make your first bot

    Create a project and try it in the debug room.

Recent changes

Full changelog

The changelog is written in Korean.

Could not load the changelog.

StarLight is open source

It is released under the GPL-3.0 license. Bug reports and pull requests are always welcome, and the latest work happens on the nightly branch.

Your download has started

If it didn't start automatically, click here.

You may need to allow installing apps from unknown sources. It can’t be installed alongside the Google Play build.