-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexamples_FollowBot.js.html
More file actions
142 lines (110 loc) · 5.66 KB
/
Copy pathexamples_FollowBot.js.html
File metadata and controls
142 lines (110 loc) · 5.66 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
133
134
135
136
137
138
139
140
141
142
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: examples/FollowBot.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/FollowBot.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 follow and unfollow 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 profileId = 'PROFILE_ID_OR_STEAM_ID';// The profile ID is the XXXX in the following, SteamID's do not work, if profile id is valid. : https://steamcommunity.com/id/XXXX or http://steamcommunity.com/profiles/XXXX/
function FollowBot() {
/**
* We will un-follow a user
*/
var unfollow = 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 un-follow user
*/
botAccount.Community.unfollowPublisher(profileId, function (err) {
if (err)
botsManager.errorDebug("Failed to un-follow user. User might already be un-followed. Error: " + err);
else
botsManager.infoDebug("Successfully un-followed user with " + botAccount.getAccountName());
});
})();
}
};
/**
* We will follow a user
*/
var follow = 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
botAccount.Community.setupProfile(function(err){
if (err){
botsManager.errorDebug("Failed to set-up account. Due to " + err);
}
else {
/**
* We will execute the command to follow a user
*/
botAccount.Community.followPublisher(profileId, function (err) {
if (err)
botsManager.errorDebug("Failed to follow user. User might already be followed. Error: " + err);
else
botsManager.infoDebug("Successfully followed user with " + botAccount.getAccountName());
});
}
})
})();
}
};
botsManager.startManager(function (err) {
setTimeout(follow, 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.
}
// call the rest of the code and have it execute after 3 seconds
new FollowBot();// Run the code above.
module.exports = FollowBot;
</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>