{"id":24290538,"url":"https://github.com/dutu/bisq-watcher","last_synced_at":"2025-09-25T13:31:20.329Z","repository":{"id":196861063,"uuid":"696752605","full_name":"dutu/bisq-watcher","owner":"dutu","description":"Monitoring tool for Bisq application","archived":false,"fork":false,"pushed_at":"2023-10-27T09:06:55.000Z","size":8320,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-15T00:42:33.939Z","etag":null,"topics":["bisq","bisq-network","exchange","monitor","monitoring","monitoring-tool","notifications","p2p","telegram","watcher"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dutu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-26T11:20:55.000Z","updated_at":"2024-02-15T23:05:26.000Z","dependencies_parsed_at":"2023-11-01T07:31:19.704Z","dependency_job_id":null,"html_url":"https://github.com/dutu/bisq-watcher","commit_stats":{"total_commits":63,"total_committers":1,"mean_commits":63.0,"dds":0.0,"last_synced_commit":"0ed4b26fbad40af2f9f4cfcf52375d4380e6f817"},"previous_names":["dutu/bisq-watcher"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dutu%2Fbisq-watcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dutu%2Fbisq-watcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dutu%2Fbisq-watcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dutu%2Fbisq-watcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dutu","download_url":"https://codeload.github.com/dutu/bisq-watcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234195805,"owners_count":18794361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bisq","bisq-network","exchange","monitor","monitoring","monitoring-tool","notifications","p2p","telegram","watcher"],"created_at":"2025-01-16T11:53:12.487Z","updated_at":"2025-09-25T13:31:19.826Z","avatar_url":"https://github.com/dutu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\n**Bisq-watcher** is a customizable monitoring tool for the Bisq application, built with Node.js and compatible with Windows, Linux, and macOS. It allows you to set up a watcher to monitor your Bisq application on your computer.\n\nBisq-watcher consists of three core components:\n\n*  **File Watcher**: Monitors the main bisq log file `bisq.log`.\n*  **Log Processor**: Parses and extracts relevant log data based on predefined rules.\n*  **Logger**: Sends notifications via multiple transports, including **console**, **file**, and **Telegram**.\n\n\nWhether you need real-time trade updates on Telegram or just want to keep an eye on the logs, bisq-watcher has you covered.\n\nScreenshot example of console output:\n\n![](./images/console_log.png)\n\n\n# Table of Contents\n\n- [Installation](#installation)\n    - [Prerequisites](#prerequisites)\n    - [Node.js](#nodejs)\n    - [Repository Cloning](#repository-cloning)\n- [Configuration](#configuration)\n    - [App Configuration](#app-configuration)\n    - [Telegram Integration](#telegram-integration)\n- [Usage](#usage)\n    - [Starting the Application](#starting-the-application)\n    - [Notification Testing](#notification-testing)\n    - [Running the application using PM2](#running-the-application-using-pm2)\n    - [Setting Up Multiple Watchers](#setting-up-multiple-watchers)\n- [Contributions](#contributions)\n- [Versioning and Changelog](#versioning-and-changelog)\n\n\n# Installation\n\n## Prerequisites\n\nEnsure that Bisq-watcher runs on the same computer as your Bisq application.\nYou'll need [Node.js](https://nodejs.org/en) installed.\n\n\n## Node.js\n\n* Download and install Node.js from the [official website](https://nodejs.org/en).\n\n\n## Repository Cloning\n\n* Before cloning the repository, make sure Git is installed on your system. If not, download and install it from the [official Git website](https://git-scm.com/).\n\n* Clone bisq-watcher repository:\n\n```shell\ngit clone https://github.com/dutu/bisq-watcher\ncd bisq-watcher\n```\n\n* Checkout the latest release:\n```shell\ngit checkout v0.1.0\n```\n\n* Install dependencies:\n```shell\nnpm install\n```\n\n# Configuration\n\n## App Configuration\n\n* Make a copy of the `bisq-watcher.config.sample.mjs` file and rename it to `bisq-watcher.config.mjs`.\n\n* Edit `bisq-watcher.config.mjs` to customize your watcher settings, including console logging, file logging, and Telegram integration.\n  \n    \u003e In particular, make sure: `logFile` specifies the correct location of the main Bisq log file `bisq.log`. See [Bisq data directory](https://bisq.wiki/Data_directory) default locations.\n\nFor advanced configurations and all available options, refer to the JSDoc comments within [`bisq-watcher.config.sample.mjs`](./bisq-watcher.config.sample.mjs) file.\n\n\n## Telegram Integration\n\nTo enable Telegram-based log notifications:\n\n### Getting API Token\n\n* Open Telegram and search for the \"BotFather\" bot.\n\n* Start a chat and use the `/newbot` command to create a new bot.\n\n* Follow BotFather's prompts to name your bot.\n\n* After creating the bot, you'll receive an API token. Note this token for use in `bisq-watcher.config.mjs`.\n\n\n### Getting Chat ID\n\n* Add your new bot to a Telegram chat or group.\n\n* Send a test message in the chat.\n\n* Replace `YOUR_API_TOKEN` in the following URL and open it in a web browser:\n\n https://api.telegram.org/botYOUR_API_TOKEN/getUpdates\n\n* Look for the `chat` object in the returned JSON, your chat ID will be the value of `id` within that object.\n\n\n### Update `bisq-watcher.config.mjs`\n\n* Update `bisq-watcher.config.mjs` with the Telegram bot configuration:\n\n```js\n{\n  ...,\n  loggerConfig: [\n    ...,\n    {\n      type: 'telegram',\n      apiToken: 'YOUR_API_TOKEN',\n      chatId: 'YOUR_CHAT_ID',\n      enabled: true,\n      sendToTelegram: true\n    }\n  ]\n}\n```\n\nReplace `YOUR_API_TOKEN` and `YOUR_CHAT_ID` with the actual values you obtained earlier.\n\n\n# Usage\n\n## Starting the Application\n\n* To run the bisq-watcher, use:\n\n```shell\nnpm start\n```\n\n## Notification Testing\n\nBy default, bisq-watcher monitors new events added to the main Bisq logfile, `bisq.log`. However, for testing purposes, you can enable a debug flag called `atStartProcessEntireLogFile`.\n\nSetting `atStartProcessEntireLogFile` to `true` in the configuration file `bisq-watcher.config.mjs` will instruct bisq-watcher to process the entire `bisq.log` file. Notifications will be sent as the logfile is read and parsed.\n\nThis feature is useful for testing and validating notifications without waiting for new events to occur in real-time.\n\n\n## Running the application using PM2\n\nPM2 is a daemon process manager that helps keep your application running 24/7. PM2 can be used and configured to restart your application after unexpected machine restarts. Bisq-watcher is designed to work seamlessly with PM2.\n\n* Install PM2 globally:\n\n```shell\nnpm install -g pm2\n```\n\n\n* Use PM2 to start the application:\n\n```shell\npm2 start bisq-watcher\n```\n\n\n* View console output:\n```shell\npm2 logs bisq-watcher\n```\n\n* To stop the application:\n```shell\npm2 stop bisq-watcher\n```\n\n## Setting Up Multiple Watchers\n\nIf you need to monitor two Bisq instances on the same computer, follow these steps:\n\n* Create a second copy of `bisq-watcher.config.sample.mjs` and give it a different name, e.g. `bisq-watcher2.config.mjs`\n\n\n* Edit `bisq-watcher2.config.mjs` to configure the second watcher.\n\n  \n* Start the second watcher:\n\n```shell\nnpm start -- --config bisq-watcher2.config.mjs\n```\n\n \n* To start the second watcher with PM2:\n\n```shell\npm2 start bisq-watcher2.config.mjs\n```\n\n# Contributions\n\nBisq-watcher is an actively developed, and contributions are welcome.\n\nWhile the application is still in its early stages, it currently includes rules for trading and dispute notifications.\nWe are continuously working on expanding the set of rules to enhance the monitoring capabilities.\n\nIf you would like to contribute by adding more rules to enable additional notifications, please consider opening an issue or submitting a pull request. You can find the rule definitions in the [server/rules](./server/rules) folder.\n\n\n# Versioning and Changelog\n\nThis project adheres to [Semantic Versioning](https://semver.org/). \n\nFor the versions available and changes made in each version, see the [Releases](https://github.com/dutu/bisq-watcher/releases) on this repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdutu%2Fbisq-watcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdutu%2Fbisq-watcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdutu%2Fbisq-watcher/lists"}