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