-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexamples_VoteBot.js.html
More file actions
132 lines (102 loc) · 5.03 KB
/
Copy pathexamples_VoteBot.js.html
File metadata and controls
132 lines (102 loc) · 5.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: examples/VoteBot.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: examples/VoteBot.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/**
* This is a simple example of a bot that will hook into the API and provide a way to vote on attachements through all bot accounts
* I do not promote the use of this file, it is made for educational purposes on the possible functionality of this tool.
*
* Note: This is simply a proof-of-concept
*
* Make sure you copy this file and not use it directly. Follow install instructions on github.
*/
/* We will require the node-steam-bot-manager module to use it */
var BotManager = require('node-steam-bot-manager');
var botsManager = new BotManager();// Create new instance of the BotManager
var attachementId = '___SHARED_FILE_ID___';
function VoteBot() {
/**
* We will downvote shared files.
*/
var downVote = function () {
/**
* We will loop through all bot accounts
*/
for (var botAccountIndex in botsManager.getAccounts()) {
/**
* To avoid over-writing the same variable due to the for loop, we will enclose in a function.
*/
(function () {
var botAccount = botsManager.getAccounts()[botAccountIndex];// Get botAccount from the index
/**
* We will execute the command to down vote
*/
botAccount.Community.downvoteSharedFile(attachementId, function (err) {
if (err)
botsManager.errorDebug("Failed to down vote shared file.");
else
botsManager.infoDebug("Successfully down vote shared file by " + botAccount.getAccountName());
});
})();
}
};
/**
* We will up vote shared files.
*/
var upVote = function () {
/**
* We will loop through all bot accounts
*/
for (var botAccountIndex in botsManager.getAccounts()) {
/**
* To avoid over-writing the same variable due to the for loop, we will enclose in a function.
*/
(function () {
var botAccount = botsManager.getAccounts()[botAccountIndex];// Get botAccount from the index
/**
* We will execute the command to up vote
*/
botAccount.Community.upvoteSharedFile(attachementId, function (err) {
if (err)
botsManager.errorDebug("Failed to up vote shared file.");
else
botsManager.infoDebug("Successfully up voted shared file by " + botAccount.getAccountName());
});
})();
}
};
botsManager.startManager(function (err) {
setTimeout(upVote, 1000 * 10);// We will delay 10 seconds until all accounts are expected to be logged in... There is obviously a much better way, however it requires a lot of code | This is just a simple example.
});// You must start the manager at the end so that all the hooks above it, are registered.
}
new VoteBot();// Run the code above.
module.exports = VoteBot;
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="Auth.html">Auth</a></li><li><a href="Bot.html">Bot</a></li><li><a href="global.html#BotManager">BotManager</a></li><li><a href="Community.html">Community</a></li><li><a href="Friends.html">Friends</a></li><li><a href="GUI_Handler.html">GUI_Handler</a></li><li><a href="Profile.html">Profile</a></li><li><a href="Request.html">Request</a></li><li><a href="Trade.html">Trade</a></li></ul><h3>Events</h3><ul><li><a href="Bot.html#event:chatMessage">chatMessage</a></li><li><a href="Bot.html#event:loggedIn">loggedIn</a></li><li><a href="Bot.html#event:newOffer">newOffer</a></li><li><a href="Bot.html#event:offerChanged">offerChanged</a></li><li><a href="Bot.html#event:offerList">offerList</a></li><li><a href="Bot.html#event:sentOfferChanged">sentOfferChanged</a></li><li><a href="Bot.html#event:tradeOffers">tradeOffers</a></li></ul><h3>Global</h3><ul><li><a href="global.html#webserver">webserver</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.0</a> on Sat Oct 28 2017 11:52:44 GMT-0400 (Eastern Daylight Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>