{"id":13513139,"url":"https://github.com/mjkaufer/Messer","last_synced_at":"2025-03-31T00:30:51.608Z","repository":{"id":34398030,"uuid":"38325755","full_name":"mjkaufer/Messer","owner":"mjkaufer","description":":speech_balloon: Command-line messaging for Facebook Messenger","archived":false,"fork":false,"pushed_at":"2022-12-30T20:20:35.000Z","size":984,"stargazers_count":450,"open_issues_count":30,"forks_count":65,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-11-01T15:37:42.044Z","etag":null,"topics":["facebook","facebook-chat","facebook-messenger","javascript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/messer","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mjkaufer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-30T18:22:55.000Z","updated_at":"2024-08-10T05:31:35.000Z","dependencies_parsed_at":"2023-01-15T06:50:20.114Z","dependency_job_id":null,"html_url":"https://github.com/mjkaufer/Messer","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjkaufer%2FMesser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjkaufer%2FMesser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjkaufer%2FMesser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjkaufer%2FMesser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mjkaufer","download_url":"https://codeload.github.com/mjkaufer/Messer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246399816,"owners_count":20770907,"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":["facebook","facebook-chat","facebook-messenger","javascript"],"created_at":"2024-08-01T04:00:39.330Z","updated_at":"2025-03-31T00:30:50.429Z","avatar_url":"https://github.com/mjkaufer.png","language":"JavaScript","funding_links":[],"categories":["Uncategorized","JavaScript"],"sub_categories":["Uncategorized"],"readme":"# Messer\n\nCommand-line Messaging for Facebook Messenger\n\n![Downloads](https://img.shields.io/npm/dm/messer.svg)\n![Version](https://img.shields.io/npm/v/messer.svg)\n![License](https://img.shields.io/npm/l/messer.svg)\n\nMesser is a rich Facebook Messenger client for your terminal. Send and receive messages, view chat historys and more!\n\n![demo](./assets/messer_cli_demo.gif)\n\n## Installation\n\n```bash\n$ npm install -g messer\n```\n\n## Quick Start\n\n\u003e `node` version 12.x required\n\n1. Install `messer`\n2. Run `messer`\n\n   ```bash\n   $ messer\n   ```\n\n3. Enter your login details (don't worry, we don't store a thing)\n\n\n## FAQ\n\n### Do you store any of my data?\n\n**_We don't store your username, password, or any of your interactions on Messer_**.\n\nThe only thing we store is a temporary login token when you first log in. This let's us authenticate you with Facebook _without_ you having to enter your username and password every time. If you want to get rid of it, simply run `messer cleanup`, or if you're in a Messer session, run the `logout` command.\n\n### Can I use a deactivated Facebook account?\n\nNo, unforunately not. If you use Messer with a deactivated Facebook account, your account will be reactivated.\n\n### How do group chats work?\n\nMessages from group chats appear like\n\n```bash\n(My cool friends) John Smith - hey guys!!$$@@\n```\n\nSend a message to a group by using the `message` command. The `name` is the name of the group chat! Reply works as normal\n\n## Commands Reference\n\n#### `message`\n\nSends a _message_ to a given _user_\n\n```bash\n(message | m) \"\u003cuser\u003e\" \u003cmessage\u003e\n```\n\nExamples\n\n- `message \"Matthew\" hello world!`\n- `m \"Matthew\" hello world!`\n\nWhen sending a message, Messer picks the closest match to what you type in as `user`. For this reason, you should probably use last names if you want to avoid accidentally texting someone.\n\n#### `reply`\n\nReplys to the last message you recevied i.e. Sends a message to the user of the most recently received message.\n\n```bash\n(reply | r) \u003cmessage\u003e\n```\n\nExample\n\n- `r \"hey yo this is my reply\"`\n\nNote: this will only work if you have received at least one message through Messer.\n\n#### `contacts`\n\nLists all of your Facebook friends\n\n```bash\ncontacts\n```\n\n#### `history`\n\nDisplays the last _n_ messages in the conversation with a given user. The number of messages to retrieve are optional (default is 5).\n\n```bash\n(history | h) \"\u003cuser\u003e\" [\u003cn\u003e]\n```\n\nExamples\n\n- `history \"Matthew\" 10`\n- `h \"Matthew\"`\n\n#### `recent`\n\nDisplays the _n_ most recent conversations. The number of threads is optional (default is 5).\nThe `--history` option will display the 5 most recent messages in each thread.\n\n```bash\nrecent [\u003cn\u003e] [--history]\n```\n\nExamples\n\n- `recent`\n- `recent 10`\n- `recent --history`\n\n#### `clear`\n\nClears the number of unread messages in the window title. Since we cannot listen on focus events, it has to be done manually.\n\n```bash\n(clear | c)\n```\n\n#### `logout`\n\nLogs you out\n\n```bash\nlogout\n```\n\n#### `mute`\n\nMutes a thread. If no seconds are specified, the thread is muted indefinetely.\n\n```bash\nmute \"\u003cthread-name\u003e\" [seconds]\n```\n\n#### `unmute`\n\nUnmutes a thread\n\n```bash\nunmute \"\u003cthread-name\u003e\"\n```\n\n#### `settings`\n\nConfigure your user settings on Messer\n\n```bash\nsettings (set | get | list) [\u003ckey\u003e=\u003cvalue\u003e]\n```\n\nExamples\n\n- `settings list`\n- `settings get SHOW_READ`\n- `settings set SHOW_READ=true`\n\nFor supported settings, see section below\n\n### Supported Settings\n\n- `SHOW_READ`\n  - Marks conversation as \"read\" when using `clear` command\n\n### Lock-on Mode\n\nLocking on to a user or group allows you to send messages without having to specify the `message` command; just type away!\n\n```bash\nlock \"Tom Q\"\n```\n\n**To unlock**, simply run:\n\n```bash\n--unlock\n```\n\n### Secret Mode\n\nWhen in this mode, any messages sent or recieved in the thread will be deleted for you (note, **they won't be deleted for everyone**).\n\n```bash\nlock \"Tom Q\" --secret\n```\n\n### Non-interactive Mode\n\nMesser can be run in non-interactive mode with command line arguments to execute a single command.\n\n```bash\nmesser --command='\u003ccommand\u003e'\n```\n\nLogin will be prompted if this is the first time logging in.\n\nExamples\n\n- `messer --command='m \"John Smith\" Hey, John'`\n- `messer --command='r Hey, John'`\n\n### Cleanup\n\nIf ever you want to clean up any old Messer sessions and start from scratch, run:\n\n```bash\n$ messer cleanup\n```\n\n## Contributing\n\nWant to add a new command, fix a bug or improve Messer in another way? Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.\n\n## License\n\nThis project is licensed under the ISC License - see the LICENSE file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjkaufer%2FMesser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmjkaufer%2FMesser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjkaufer%2FMesser/lists"}