Update README and gitignore
This commit is contained in:
		
							
								
								
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -7,10 +7,8 @@ __pycache__ | |||||||
| *.egg-info | *.egg-info | ||||||
|  |  | ||||||
| node_modules | node_modules | ||||||
|  | web/lib/import-map.json | ||||||
|  |  | ||||||
| *.session | *.session | ||||||
| *.json | /*.json | ||||||
| !example-config.json |  | ||||||
| !packs/*.json |  | ||||||
| !web/package.json |  | ||||||
| *.bak | *.bak | ||||||
|   | |||||||
							
								
								
									
										80
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								README.md
									
									
									
									
									
								
							| @@ -4,82 +4,12 @@ A fast and simple Matrix sticker picker widget. Tested on Element Web, Android & | |||||||
| ## Discussion | ## Discussion | ||||||
| Matrix room: [`#stickerpicker:maunium.net`](https://matrix.to/#/#stickerpicker:maunium.net) | Matrix room: [`#stickerpicker:maunium.net`](https://matrix.to/#/#stickerpicker:maunium.net) | ||||||
|  |  | ||||||
| ## Utility commands | ## Instructions | ||||||
| In addition to the sticker picker widget itself, this project includes some | For setup and usage instructions, please visit the [wiki](https://github.com/maunium/stickerpicker/wiki): | ||||||
| utility scripts you can use to import and create sticker packs. |  | ||||||
|  |  | ||||||
| To get started, install the dependencies for using the commands: | * [Creating packs](https://github.com/maunium/stickerpicker/wiki/Creating-packs) | ||||||
|  | * [Enabling the widget](https://github.com/maunium/stickerpicker/wiki/Enabling-the-widget) | ||||||
| 0. Make sure you have Python 3.6 or higher. | * [Hosting on GitHub pages](https://github.com/maunium/stickerpicker/wiki/Hosting-on-GitHub-pages) | ||||||
| 1. (Optional) Set up a virtual environment. |  | ||||||
|    1. Create with `virtualenv -p python3 .venv` |  | ||||||
|    2. Activate with `source .venv/bin/activate` |  | ||||||
| 2. Install the utility commands and their dependencies with `pip install .` |  | ||||||
|  |  | ||||||
| ### Importing packs from Telegram |  | ||||||
| To import packs from Telegram, simply run `sticker-import <pack urls...>` with |  | ||||||
| one or more t.me/addstickers/... URLs. |  | ||||||
|  |  | ||||||
| If you want to list the URLs of all your saved packs, use `sticker-import --list`. |  | ||||||
| This requires logging in with your account instead of a bot token. |  | ||||||
|  |  | ||||||
| Notes: |  | ||||||
|  |  | ||||||
| * On the first run, it'll prompt you to log in to Matrix and Telegram. |  | ||||||
|  * The Matrix URL and access token are stored in `config.json` by default. |  | ||||||
|  * The Telethon session data is stored in `sticker-import.session` by default. |  | ||||||
| * By default, the pack data will be written to `web/packs/`. |  | ||||||
| * You can pass as many pack URLs as you want. |  | ||||||
| * You can re-run the command with the same URLs to update packs. |  | ||||||
|  |  | ||||||
| ### Creating your own packs |  | ||||||
| 1. Create a directory with your sticker images. |  | ||||||
|    * The file name (excluding extension) will be used as the caption. |  | ||||||
|    * The directory name will be used as the pack name/ID. |  | ||||||
|    * If you want the stickers to appear in a specific order, prefix them with |  | ||||||
|      `number-`, e.g. `01-Cat.png`. The number and dash won't be included in the |  | ||||||
|      caption. |  | ||||||
| 2. Run `sticker-pack <pack directory>`. |  | ||||||
|    * If you want to override the pack displayname, pass `--title <custom title>`. |  | ||||||
|    * Pass `--add-to-index web/packs/` if you want to automatically add the |  | ||||||
|      generated pack to your sticker picker. |  | ||||||
|  |  | ||||||
| ## Enabling the sticker widget |  | ||||||
| 1. Serve everything under `web/` using your webserver of choice. Make sure not |  | ||||||
|    to serve the top-level data, as `config.json` and the Telethon session file |  | ||||||
|    contain sensitive data. |  | ||||||
| 2. Using `/devtools` in Element Web, edit the `m.widgets` account data event to |  | ||||||
|    have the following content: |  | ||||||
|  |  | ||||||
|    ```json |  | ||||||
|    { |  | ||||||
|        "stickerpicker": { |  | ||||||
|            "content": { |  | ||||||
|                "type": "m.stickerpicker", |  | ||||||
|                "url": "https://your.sticker.picker.url/?theme=$theme", |  | ||||||
|                "name": "Stickerpicker", |  | ||||||
|                "data": {} |  | ||||||
|            }, |  | ||||||
|            "sender": "@you:picker.url", |  | ||||||
|            "state_key": "stickerpicker", |  | ||||||
|            "type": "m.widget", |  | ||||||
|            "id": "stickerpicker" |  | ||||||
|        } |  | ||||||
|    } |  | ||||||
|    ``` |  | ||||||
|  |  | ||||||
|     If you do not yet have a `m.widgets` event, simply create it with that content. |  | ||||||
|     You can also [use the client-server API directly][1] instead of using Element Web. |  | ||||||
|  |  | ||||||
|     The `theme=$theme` query parameter will make the widget conform to Element's |  | ||||||
|     theme automatically. You can also use `light`, `dark` or `black` instead of |  | ||||||
|     `$theme` to always use a specific theme. |  | ||||||
|  |  | ||||||
|     You can use https://maunium.net/stickers-demo/ as the URL to try out the |  | ||||||
|     picker without hosting the files yourself. |  | ||||||
| 3. Open the sticker picker and enjoy the fast sticker picking experience. |  | ||||||
|  |  | ||||||
| [1]: https://matrix.org/docs/spec/client_server/latest#put-matrix-client-r0-user-userid-account-data-type |  | ||||||
|  |  | ||||||
| ## Preview | ## Preview | ||||||
| ### Element Web | ### Element Web | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								web/packs/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								web/packs/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
		Reference in New Issue
	
	Block a user
	 Tulir Asokan
					Tulir Asokan