Initial commit
This commit is contained in:
		
						commit
						fc7bcf62ae
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| .idea/ | ||||
| node_modules/ | ||||
| *.iml | ||||
							
								
								
									
										52
									
								
								bot.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								bot.js
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | |||
| const tmi = require('tmi.js'); | ||||
| 
 | ||||
| // Define configuration options
 | ||||
| const opts = { | ||||
|     identity: { | ||||
|         username: "", | ||||
|         password: "" | ||||
|     }, | ||||
|     channels: [ | ||||
|         "yiggalow" | ||||
|     ] | ||||
| }; | ||||
| 
 | ||||
| // Create a client with our options
 | ||||
| const client = new tmi.client(opts); | ||||
| 
 | ||||
| // Register our event handlers (defined below)
 | ||||
| client.on('message', onMessageHandler); | ||||
| client.on('connected', onConnectedHandler); | ||||
| 
 | ||||
| // Connect to Twitch:
 | ||||
| client.connect(); | ||||
| 
 | ||||
| // Called every time a message comes in
 | ||||
| function onMessageHandler(target, context, msg, self) { | ||||
|     if (self) { | ||||
|         return; | ||||
|     } // Ignore messages from the bot
 | ||||
| 
 | ||||
|     // Remove whitespace from chat message
 | ||||
|     const commandName = msg.trim(); | ||||
| 
 | ||||
|     // If the command is known, let's execute it
 | ||||
|     if (commandName === '!dice') { | ||||
|         const num = rollDice(); | ||||
|         client.say(target, `You rolled a ${num}`); | ||||
|         console.log(`* Executed ${commandName} command`); | ||||
|     } else { | ||||
|         console.log(`* Unknown command ${commandName}`); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Function called when the "dice" command is issued
 | ||||
| function rollDice() { | ||||
|     const sides = 6; | ||||
|     return Math.floor(Math.random() * sides) + 1; | ||||
| } | ||||
| 
 | ||||
| // Called every time the bot connects to Twitch chat
 | ||||
| function onConnectedHandler(addr, port) { | ||||
|     console.log(`* Connected to ${addr}:${port}`); | ||||
| } | ||||
							
								
								
									
										78
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,78 @@ | |||
| { | ||||
|   "name": "npm", | ||||
|   "version": "1.0.0", | ||||
|   "lockfileVersion": 2, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "npm", | ||||
|       "version": "1.0.0", | ||||
|       "license": "ISC", | ||||
|       "dependencies": { | ||||
|         "tmi.js": "^1.8.2" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/node-fetch": { | ||||
|       "version": "2.6.1", | ||||
|       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", | ||||
|       "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", | ||||
|       "engines": { | ||||
|         "node": "4.x || >=6.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/tmi.js": { | ||||
|       "version": "1.8.2", | ||||
|       "resolved": "https://registry.npmjs.org/tmi.js/-/tmi.js-1.8.2.tgz", | ||||
|       "integrity": "sha512-af1wcF7AQmEB0laylCHswTw/QD9Q51MLZhCNA/V0shn0CyxsBXWPtiSOHdgkGI88ix7moDsr4Mbl6NeVg8rf5Q==", | ||||
|       "dependencies": { | ||||
|         "node-fetch": "^2.6.1", | ||||
|         "ws": "^7.4.3" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=10.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/ws": { | ||||
|       "version": "7.4.5", | ||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", | ||||
|       "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", | ||||
|       "engines": { | ||||
|         "node": ">=8.3.0" | ||||
|       }, | ||||
|       "peerDependencies": { | ||||
|         "bufferutil": "^4.0.1", | ||||
|         "utf-8-validate": "^5.0.2" | ||||
|       }, | ||||
|       "peerDependenciesMeta": { | ||||
|         "bufferutil": { | ||||
|           "optional": true | ||||
|         }, | ||||
|         "utf-8-validate": { | ||||
|           "optional": true | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "node-fetch": { | ||||
|       "version": "2.6.1", | ||||
|       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", | ||||
|       "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" | ||||
|     }, | ||||
|     "tmi.js": { | ||||
|       "version": "1.8.2", | ||||
|       "resolved": "https://registry.npmjs.org/tmi.js/-/tmi.js-1.8.2.tgz", | ||||
|       "integrity": "sha512-af1wcF7AQmEB0laylCHswTw/QD9Q51MLZhCNA/V0shn0CyxsBXWPtiSOHdgkGI88ix7moDsr4Mbl6NeVg8rf5Q==", | ||||
|       "requires": { | ||||
|         "node-fetch": "^2.6.1", | ||||
|         "ws": "^7.4.3" | ||||
|       } | ||||
|     }, | ||||
|     "ws": { | ||||
|       "version": "7.4.5", | ||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", | ||||
|       "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", | ||||
|       "requires": {} | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										18
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| { | ||||
|   "name": "npm", | ||||
|   "version": "1.0.0", | ||||
|   "description": "Highlight Timestamp Marker that listens to messages in a twitch stream chat", | ||||
|   "main": "bot.js", | ||||
|   "scripts": { | ||||
|     "test": "test" | ||||
|   }, | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "https://git.plutodev.de/DHBW/Twitch_Highlight_Marker" | ||||
|   }, | ||||
|   "author": "Patrick Müller, David Huh", | ||||
|   "license": "ISC", | ||||
|   "dependencies": { | ||||
|     "tmi.js": "^1.8.2" | ||||
|   } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user