Cadence + jacksonchen666: readme enhancements
This commit is contained in:
		
							parent
							
								
									1447406ed6
								
							
						
					
					
						commit
						fd9c742529
					
				
					 1 changed files with 18 additions and 17 deletions
				
			
		
							
								
								
									
										35
									
								
								readme.md
									
										
									
									
									
								
							
							
						
						
									
										35
									
								
								readme.md
									
										
									
									
									
								
							| 
						 | 
					@ -38,7 +38,6 @@ Most features you'd expect in both directions, plus a little extra spice:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Embeds don't work yet.
 | 
					* Embeds don't work yet.
 | 
				
			||||||
* This bridge is not designed for puppetting.
 | 
					* This bridge is not designed for puppetting.
 | 
				
			||||||
* Some aspects of this bridge are customised for my homeserver. I'm working over time to make it more general. Please please reach out to @cadence:cadence.moe if you would like to run this, and I'll work with you to get it running!
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Efficiency details
 | 
					## Efficiency details
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -48,36 +47,38 @@ The bridge uses a small SQLite database to store relationships like which Discor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Only necessary data and columns are queried from the database. We only contact the homeserver API if the database doesn't contain what we need.
 | 
					Only necessary data and columns are queried from the database. We only contact the homeserver API if the database doesn't contain what we need.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Development information
 | 
					# Setup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## You will need
 | 
					If you get stuck, you're welcome to message @cadence:cadence.moe to ask for help setting up OOYE!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You'll need:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Administrative access to a homeserver
 | 
					* Administrative access to a homeserver
 | 
				
			||||||
* Discord bot
 | 
					* Discord bot
 | 
				
			||||||
* (For now) Help and support from @cadence:cadence.moe. Message me and tell me you're interested in OOYE!
 | 
					* Custom emojis named `L1` and `L2` for replies sent to Discord (TODO: provide)
 | 
				
			||||||
* The L1 and L2 emojis
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Initial setup
 | 
					Follow these steps:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Node.js version 18 or later is required: https://nodejs.org/en/download/releases (the matrix-appservice dependency demands 18)
 | 
					1. [Get Node.js version 18 or later](https://nodejs.org/en/download/releases) (the version is required by the matrix-appservice dependency)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Install dependencies: `npm install --save-dev` (only need --save-dev if you will run the automated tests)
 | 
					2. Install dependencies: `npm install --save-dev` (omit --save-dev if you will not run the automated tests)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Copy `config.example.js` to `config.js` and fill in Discord token.
 | 
					3. Copy `config.example.js` to `config.js` and fill in Discord token.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Copy `registration.example.yaml` to `registration.yaml` and fill in bracketed values. You could generate each hex string with `dd if=/dev/urandom bs=32 count=1 2> /dev/null | basenc --base16 | dd conv=lcase 2> /dev/null`. Register the registration in Synapse's `homeserver.yaml` through the usual appservice installation process, then restart Synapse.
 | 
					4. Copy `registration.example.yaml` to `registration.yaml` and fill in bracketed values. You could generate each hex string with `dd if=/dev/urandom bs=32 count=1 2> /dev/null | basenc --base16 | dd conv=lcase 2> /dev/null`. Register the registration in Synapse's `homeserver.yaml` through the usual appservice installation process, then restart Synapse.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If developing on a different computer to the one running the homeserver, use SSH port forwarding so that Synapse can connect on its `localhost:6693` to reach the running bridge on your computer. Example: `ssh -T -v -R 6693:localhost:6693 me@matrix.cadence.moe`
 | 
					5. Run `node scripts/seed.js` to check your setup, create the database and server state (only need to run this once ever)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Run `node scripts/seed.js` to check your setup, create the database and server state (only need to run this once ever)
 | 
					6. Make sure the tests work by running `npm t`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Make sure the tests work: `npm t`
 | 
					7. Start the bridge: `node start.js`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Start the bridge: `node start.js`
 | 
					# Development information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Any files you change will automatically be reloaded, except for `stdin.js` and `d2m/discord-*.js`
 | 
					* Be sure to install dependencies with `--save-dev` so you can run the tests.
 | 
				
			||||||
 | 
					* Any files you change will automatically be reloaded, except for `stdin.js` and `d2m/discord-*.js`.
 | 
				
			||||||
I recommend developing in Visual Studio Code so that the JSDoc x TypeScript annotation comments work. I don't know which other editors or language servers support annotations and type inference.
 | 
					* If developing on a different computer to the one running the homeserver, use SSH port forwarding so that Synapse can connect on its `localhost:6693` to reach the running bridge on your computer. Example: `ssh -T -v -R 6693:localhost:6693 me@matrix.cadence.moe`
 | 
				
			||||||
 | 
					* I recommend developing in Visual Studio Code so that the JSDoc x TypeScript annotation comments work. I don't know which other editors or language servers support annotations and type inference.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Repository structure
 | 
					## Repository structure
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue