Skip to content

Commit 3d9635e

Browse files
author
mydicebot
committed
v1.0.0 release
1 parent 609f892 commit 3d9635e

25 files changed

+5412
-2
lines changed

README.md

Lines changed: 206 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,206 @@
1-
# mydicebot.github.io
2-
MyDiceBot is a cross-platform automated dicing bot for cryptocurrency dice-sites
1+
![](screenshot/bot-logo.png)
2+
# MyDiceBot
3+
* https://mydicebot.github.io
4+
* [MyDiceBot](https://mydicebot.github.io) is a cross-platform automated dicing bot for cryptocurrency dice-sites.
5+
* Similar to the bot pioneer [Seuntjies DiceBot](https://bot.seuntjie.com).
6+
* Multiple platforms are supported, including __Windows, Mac, Linux,__ and __Web__.
7+
* Multiple programming languages are supported such as __Lua__. JavaScript and Python are coming soon.
8+
9+
![](screenshot/mydicebot-1000-win.png)
10+
11+
# Table Of Content
12+
* [Supporting Dice Sites (alphabet sequence)](#supporting-dice-sites-alphabet-sequence)
13+
* [Download](#download)
14+
* [Quick Start](#quick-start)
15+
* [Startup Options](#startup-options)
16+
* [Features](#features)
17+
* [Manual Bet](#manual-bet)
18+
* [Auto Bet](#auto-bet)
19+
* [Script Bet](#script-bet)
20+
* [Internal Variables](#internal-variables)
21+
* [Internal Functions](#internal-functions)
22+
* [Sample Code](#sample-code)
23+
* [Report Issue](#report-issue)
24+
* [License](#license)
25+
* [Thanks](#thanks)
26+
* [Quote](#quote)
27+
* [Disclaimer](#disclaimer)
28+
* [Legal](#legal)
29+
* [Contact](#contact)
30+
* [Donation](#donation)
31+
32+
# Download
33+
* Binaries: [https://github.com/mydicebot/mydicebot.github.io/releases](https://github.com/mydicebot/mydicebot.github.io/releases)
34+
* Source Code: [https://github.com/mydicebot/mydicebot.github.io](https://github.com/mydicebot/mydicebot.github.io)
35+
36+
# Supporting Dice Sites (alphabet sequence)
37+
* [999Dice](https://www.999dice.com/?224280708)
38+
* [Bitsler (coming soon)](https://www.bitsler.com/?ref=mydicebot)
39+
* [BitVest (coming soon)](https://bitvest.io?r=108792)
40+
* [Crypto-Games (coming soon)](https://www.crypto-games.net?i=CpQP3V8Up2)
41+
* [DuckDice (coming soon)](https://duckdice.com/ab61534783)
42+
* [Freebitco.in (coming soon)](https://freebitco.in/?r=16392656)
43+
* [KingDice (coming soon)](https://kingdice.com/#/welcome?aff=180722)
44+
* [MegaDice (coming soon)](https://www.megadice.com/?a=326492144)
45+
* [NitroDice (coming soon)](https://www.nitrodice.com?ref=0N2pG8rkL7UR6oMzZWEj)
46+
* [NitrogenSports (coming soon)](https://nitrogensports.eu/r/4998127)
47+
* [PrimeDice (coming soon)](https://primedice.com/?c=mydicebot)
48+
* [SafeDice (coming soon)](https://safedice.com/?r=100309)
49+
* [Stake (coming soon)](https://stake.com/?code=mydicebot)
50+
* [YoloDice (coming soon)](https://yolodice.com/r?6fAf-wVz)
51+
52+
# Quick Start
53+
* Download MyDiceBot Binaries here: [MyDiceBot Releases](https://github.com/mydicebot/mydicebot.github.io/releases).
54+
* Different execution methods on different platforms.
55+
* Linux (Open Terminal)
56+
57+
```
58+
chmod +x mydicebot-linux
59+
```
60+
61+
```
62+
./mydicebot-linux
63+
```
64+
65+
* Mac (Open Terminal)
66+
67+
```
68+
chmod +x mydicebot-macos
69+
```
70+
71+
```
72+
./mydicebot-macos
73+
```
74+
75+
* Windows (Open Command Prompt)
76+
77+
```
78+
mydicebot-win.exe
79+
```
80+
81+
* Choose Dice Site, Input username/password/2FA/APIKey, then Login.
82+
* Bet and WIN.
83+
84+
# Startup Options
85+
* __-port__ (port is 3000 by default)
86+
87+
```
88+
mydicebot-win.exe -port 12345
89+
```
90+
91+
# Features
92+
* Supported platforms: __Windows, Mac, Linux, Web__, Mobile (coming soon)
93+
* Supported programming languages: __Lua__, JavaScript, Python (coming soon)
94+
* Supported multiple dice-sites
95+
* Supported multiple strategies
96+
* New account registration
97+
* Existing account login
98+
* Betting statistics
99+
* Manual bet
100+
* Auto bet
101+
* Script bet (__compatible with Seuntjies DiceBot scripts__)
102+
* Script upload/download/voting (coming soon)
103+
* Github integration (coming soon)
104+
105+
# Manual Bet
106+
* You can control every bet by yourself.
107+
108+
![](screenshot/mydicebot-manual-bet.png)
109+
110+
# Auto Bet
111+
* Essential configurations are provided for betting automatically.
112+
113+
![](screenshot/mydicebot-auto-bet.png)
114+
115+
# Script Bet
116+
* Lua programming language
117+
* JavaScript programming language (coming soon)
118+
* Python programming language (coming soon)
119+
* __Compatible with the variables and functions of Seuntjie DiceBot's Lua script__
120+
121+
![](screenshot/mydicebot-script-bet.png)
122+
123+
## Internal Variables
124+
* __Single Bet Info__
125+
126+
|Variable|Type|Permission|Purpose|
127+
|---|---|---|---|
128+
|__basebet__|double|Read Write|Shows the amount of the first bet. Only set for first bet.|
129+
|__previousbet__|double|Read Only|Shows the amount of the previous bet. Only set after first bet.|
130+
|__nextbet__|double|Read Write|The amount to bet in the next bet. You need to assign a value to this variable to change the amount bet. Defaults to previousbet after first bet. Needs to be set before betting can start.|
131+
|__chance__|double|Read Write|The chance to win when betting. Defaults to value set in advanced settings if not set. Need to set this value to change the chance to win/payout when betting.|
132+
|__bethigh__|bool|Read Write|Whether to bet high/over (true) or low/under(false). Defaults to true (bet high/bet over)|
133+
|__win__|bool|Read Only|Indicates whether the last bet you made was a winning bet (true) or a losing bet (false).|
134+
|__currentprofit__|double|Read Only|Shows the profit for the last bet made. This is not the amount returned. betting 1 unit at x2 payout, when winning, currentprofit will show 0.00000001 (returned =0.00000002), when losing, profit will show -0.00000001|
135+
136+
* __Current Session Info__
137+
138+
|Variable|Type|Permission|Purpose|
139+
|---|---|---|---|
140+
|__balance__|double|Read Only|Lists your balance at the site you're logged in to.|
141+
|__bets__|int|Read Only|Shows the number of bets for the current session.|
142+
|__wins__|int|Read Only|Shows the number of wins for the current session.|
143+
|__losses__|int|Read Only|Shows the number of losses for the current session.|
144+
|__profit__|double|Read Only|Shows your session profit. Session is defined as the time since opening the current instance of bot or the last time you reset your stats in the bot.|
145+
|__currentstreak__|double|Read Only|Shows the current winning or losing streak. When positive (>0), it's a winning streak. When negative (<0) it's a losing streak. Can never be 0. Only set after first bet.|
146+
147+
## Internal Functions
148+
149+
|Function|Purpose|
150+
|---|---|
151+
|__dobet()__|The loop of bets|
152+
|__stop()__|Stop the bet|
153+
154+
## Sample Code
155+
* Strategy: Basic Martingale
156+
157+
```lua
158+
chance = 49.5
159+
multiplier = 2
160+
basebet = 0.00000010
161+
162+
function dobet()
163+
if profit >= 0.1 then
164+
stop()
165+
end
166+
167+
if win then
168+
nextbet = basebet
169+
else
170+
nextbet = previousbet * multiplier
171+
end
172+
end
173+
```
174+
# Report Issue
175+
* [https://github.com/mydicebot/mydicebot.github.io/issues](https://github.com/mydicebot/mydicebot.github.io/issues)
176+
177+
# License
178+
* GPL-3.0
179+
180+
# Thanks
181+
* Special thanks to the open source project of [Seuntjies DiceBot](https://github.com/Seuntjie900/DiceBot).
182+
* If you need simulation functions or advanced-autobet functions, we recommand Seuntjies DiceBot.
183+
184+
# Quote
185+
* "Gambling is gambling no matter what you do or how good your strategy is. The house always wins if you keep playing. Winners know when to stop."
186+
* "Like any human, we make mistakes, and like any program, the bot is bound to have a few bugs. Use the bot at your own risk. "
187+
188+
# Disclaimer
189+
* This is still gambling. The bot is not guaranteed to win.
190+
* Please do not gamble more than you can afford to lose.
191+
* The bot has a lot of settings, and we cannot test each and every combination.
192+
* The bot might behave unpredictable and unreliably with certain combinations of settings.
193+
* Certain actions from the server might also result in unexpected behavior.
194+
* We cannot be held responsible for any losses incurred while using the bot.
195+
196+
# Legal
197+
* It is your obligation to ensure compliance with any legislation relevant to your country of domicile regarding online gambling.
198+
199+
# Contact
200+
* github: [https://github.com/mydicebot/mydicebot.github.io/issues](https://github.com/mydicebot/mydicebot.github.io/issues)
201+
* steemit: [https://steemit.com/@mydicebot](https://steemit.com/@mydicebot)
202+
* bitcointalk: PM mydicebot
203+
204+
# Donation
205+
* bitcoin: 19Yw3Hs8zAidGEUNeEUM2r4tXLnrJDy7kN
206+
* steemit: [@mydicebot](https://steemit.com/@mydicebot)

screenshot/bot-logo.png

2.7 KB
Loading

screenshot/mydicebot-1000-win.png

132 KB
Loading

screenshot/mydicebot-auto-bet.png

38.2 KB
Loading
11.7 KB
Loading
21.3 KB
Loading

src/.babelrc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"presets": ["es2015"],
3+
"plugins": [
4+
["babel-plugin-transform-builtin-extend", {
5+
globals: ["Error", "Array"]
6+
}]
7+
]
8+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
'use strict';
2+
3+
import {Factory} from '../models/factory'
4+
import {APIError} from '../errors/APIError';
5+
6+
exports.index = function(req, res) {
7+
res.render('index', { title: 'My Dice Bot' });
8+
};
9+
10+
exports.login = async function(req, res) {
11+
try{
12+
console.log(req.body.site);
13+
if(typeof req.body.username !== 'undefined'){
14+
let dice = Factory.create(req.body.site);
15+
let ret = await dice.login(req.body.username, req.body.password, req.body.twofa, req.body.apikey, req);
16+
console.log(ret);
17+
if(ret != true){
18+
res.render('login', {message:ret});
19+
} else {
20+
res.redirect(req.protocol+"://"+req.headers.host+'/'+req.body.site+'/info');
21+
}
22+
} else {
23+
res.render('login');
24+
}
25+
} catch(err) {
26+
console.log(err);
27+
res.render('login', {message:err.toString()});
28+
}
29+
};
30+
31+
exports.info = async function(req, res) {
32+
try{
33+
let dice = Factory.create(req.params.site);
34+
let ret = await dice.getUserInfo(req);
35+
res.render('info', {site: '../js/'+req.params.site+'/info.js'});
36+
} catch(err) {
37+
console.log(err);
38+
res.render('error',{err: err.toString()});
39+
}
40+
};
41+
42+
exports.bet = async function(req, res) {
43+
try{
44+
let dice = Factory.create(req.params.site);
45+
let ret = await dice.bet(req);
46+
return res.status(200).json(ret);
47+
} catch(err) {
48+
console.log(err);
49+
res.render('error',{err: err.toString()});
50+
}
51+
};
52+
53+
exports.refresh = async function(req, res) {
54+
try{
55+
let dice = Factory.create(req.params.site);
56+
let ret = await dice.refresh(req);
57+
return res.status(200).json(ret);
58+
} catch(err) {
59+
console.log(err);
60+
res.render('error',{err: err.toString()});
61+
}
62+
};
63+
64+
exports.clear = async function(req, res) {
65+
try{
66+
let dice = Factory.create(req.params.site);
67+
let ret = await dice.clear(req);
68+
return res.status(200).json(ret);
69+
} catch(err) {
70+
console.log(err);
71+
res.render('error',{err: err.toString()});
72+
}
73+
};
74+
75+
76+

src/api/errors/APIError.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class APIError extends Error {
2+
constructor(message, obj) {
3+
super(message);
4+
this.name = 'APIError';
5+
this.error = obj.value;
6+
this.description = obj.value;
7+
if (typeof Error.captureStackTrace === 'function') {
8+
Error.captureStackTrace(this, this.constructor);
9+
} else {
10+
this.stack = new Error(message).stack;
11+
}
12+
}
13+
}
14+
15+
export {APIError}

src/api/models/base.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict';
2+
3+
export class BaseDice {
4+
constructor(){
5+
console.log();
6+
}
7+
}

0 commit comments

Comments
 (0)