impl commander for invasion

This commit is contained in:
legitnull 2023-02-19 22:48:17 -07:00
parent d467f62400
commit 0c2b3a351d
6 changed files with 139 additions and 6 deletions

View File

@ -15,4 +15,4 @@ toml = "0.7.2"
serde = "1.0.152"
tokio-openssl = "0.6.3"
colored = "2"
socks = "0.3.4"
socks = "0.3.4"

View File

@ -1,6 +1,39 @@
# G.1.R - GARBAGE INTERNET ROBOT
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
```
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣴⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⠶⣻⡿⠛⠁⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣠⣤⣤⣤⡤⠤⢤⣤⣤⣤⣤⣀⣀⣠⡶⢋⣡⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢰⡿⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠻⠿⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠳⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠒⠀⠙⢷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡌⠀⠀⠀⠁⢙⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠁⠀⠀⠀⠀⣸⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢀⡀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⢀⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢀⣾⠛⠻⣿⢶⣤⣀⣿⠀⠀⠀⠀⠀⠀⠀⣀⡴⠖⠋⠉⠉⠉⠛⠳⣦⡀⠀⠀⠀⠀⠀⠀⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣸⠇⠀⠀⠹⡆⠘⡟⠻⣶⣄⠀⠀⠀⢀⡼⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣆⠀⠀⠀⠀⢰⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⠀⠀⠀⠀⢧⠀⢿⡀⢹⠈⣧⠀⠀⡼⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡄⠀⠀⠀⣾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⠀⠀⠀⠀⢸⠀⢸⠇⣾⠀⡿⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⣸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢻⡆⠀⠀⠀⣼⠀⡿⢠⡏⣸⠃⠀⠀⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣁⡄⢠⣿⣄⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠈⢷⡀⠀⣰⠃⣸⣣⡾⣿⠁⠀⠀⠀⠘⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡼⠛⠁⠀⣼⣷⣾⣭⣭⣛⡓⠶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠈⠻⠾⠿⠛⠉⠁⠀⠸⣧⡀⠀⠀⠀⠈⠙⢦⣀⡀⠀⠀⠀⣀⡴⠋⠀⠀⠀⣰⣿⣿⡏⢩⠉⢻⣿⣿⣶⣬⣙⠳⣦⣀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⡀⠀⠰⠖⠋⠉⠉⠉⠉⡉⠁⠀⠀⠀⠀⣴⣿⣿⣿⣷⣾⣤⣿⣿⣿⡿⠿⠛⠃⠀⢻⡆⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠦⣄⣀⡀⠀⠀⠀⠀⠙⠀⠀⣀⣴⣿⣿⣿⣿⡿⠿⠛⠛⠉⠁⠀⠀⠀⠀⢀⣠⠼⠷⠤⢤⣄⡀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣏⠙⢿⣶⣶⣟⣹⡿⠿⠛⠛⠉⢁⣀⣀⣀⣀⡤⠀⠀⠀⠀⠀⡴⠋⠀⠀⠀⠀⠀⠈⠻⣆
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣽⡷⢾⣿⡯⠽⠶⢶⠒⠛⠛⣿⠛⠉⠉⠉⠉⠻⡀⠀⠀⠀⣼⠁⠀⠀⠀⠀⠀⠀⠀⠀⢻
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⢞⡁⢀⡼⢹⡇⠀⢀⣿⣦⡀⢰⡏⠀⠀⠀⠀⠀⠀⠙⡆⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠃⠀⣿
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠻⢧⣿⣣⡟⡗⢸⠀⠀⢸⣿⣿⣿⣾⠀⠀⠀⠀⠀⠀⠀⠀⠘⠀⠀⢻⡀⠀⠀⠀⠀⠀⠀⢀⣾⠃
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠃⢹⢷⠃⢸⠀⠀⢸⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀⠀⠀⠙⠦⣄⣀⣀⣤⡶⠟⠁⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠇⠀⢸⣀⡇⢸⠀⠀⠸⣿⣿⣿⣽⠀⠀⠀⠀⠀⠀⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⣸⡟⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡀⠀⢸⣧⡀⢸⠀⠀⠀⠈⠛⠋⣿⠀⣠⡾⠁⠀⡰⠃⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣤⣘⠛⠛⠋⠀⠀⠀⠀⠀⠀⣿⡾⠋⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠀⣀⣾⠃⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⡟⠒⣶⣶⣤⣤⣿⠁⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣤⠶⠟⠛⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣷⠀⠸⣿⣿⣿⣯⠙⠛⠲⠶⠶⠶⣾⣟⠛⠉⠁⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⡿⠀⠀⠙⣿⣿⣿⠀⠀⠀⠀⠀⠀⠙⠿⠿⠶⠶⠶⠶⠶⠾⠟⠋⠀⠀⠀⠀⠀
```
# FEATURES
# TODO
- [ ] multi server

View File

@ -2,7 +2,7 @@ nick = "g1r"
server = "ircd.chat"
port = 6697
password = ""
channels = [ "#tcpdirect", "#macros" ]
channels = [ "#tcpdirect", "#macros", "#b0tsh0p" ]
admin_users = ["s4d", "s4d[m]"]
ignore_users = ["maple", "aibird", "professorOak", "van"]
openai = "sk-"
@ -11,3 +11,4 @@ accents = "funny, completely insane, and hyperactive"
personalities = "GIR from Invader Zim"
# INVADER SETTINGS
invaders = ["d1b", "z1m", "t4k", "m3mbr4n3", "g4z", "4l4n", "m1yuk1", "purpl3", "r3d", "5p0rk", "t3nn", "l4rb", "ch1nn", "d00ky", "3l", "fl0rb3", "g00ch", "gr4p4", "gr00t", "k00t", "k1m", "krunk", "l4dn4r", "n3n", "p3st0", "p00t"]
proxy_list = "./proxies.txt"

78
proxies.txt Normal file
View File

@ -0,0 +1,78 @@
184.185.2.12:4145
174.138.33.62:59166
206.220.175.2:4145
96.126.113.216:59166
205.240.77.164:4145
174.75.211.222:4145
72.210.252.137:4145
192.111.129.145:16894
68.71.254.6:4145
159.203.13.82:59166
107.170.81.141:59166
159.65.220.89:59166
192.241.143.216:59166
149.56.247.67:59166
157.245.223.201:59166
203.57.114.228:59166
192.111.135.18:18301
192.252.216.81:4145
68.183.90.210:59166
123.171.245.162:1080
72.195.34.58:4145
208.111.40.144:59166
98.162.25.29:31679
192.252.214.20:15864
95.213.228.10:59166
142.93.77.151:59166
72.195.114.169:4145
192.111.135.17:18302
75.119.157.170:59166
75.127.13.195:59166
167.71.10.234:59166
51.255.219.244:59166
51.178.82.49:59166
184.178.172.14:4145
68.71.247.130:4145
192.111.137.37:18762
176.58.125.165:59166
205.186.162.190:59166
47.243.95.228:10080
142.54.228.193:4145
168.196.160.61:59166
138.68.124.120:59166
174.138.63.144:59166
74.119.147.209:4145
68.183.20.254:59166
67.205.181.126:59166
139.144.31.132:59166
159.89.49.172:59166
43.226.26.120:59166
23.253.253.26:59166
206.189.157.253:59166
184.170.248.5:4145
159.203.78.174:59166
46.101.37.189:59166
184.170.249.65:4145
192.111.137.34:18765
167.71.190.131:59166
174.64.199.79:4145
184.178.172.25:15291
45.79.46.53:59166
40.87.45.45:59166
199.58.184.97:4145
198.8.94.170:4145
192.252.208.67:14287
184.170.245.148:4145
69.164.224.53:59166
68.71.249.153:48606
143.198.229.170:59166
165.227.153.96:59166
192.252.220.89:4145
138.197.185.192:59166
151.80.45.47:59166
69.194.181.6:7497
170.210.156.33:59166
209.94.62.123:59166
198.8.94.174:39078
184.178.172.23:4145
72.221.232.155:4145

View File

@ -14,7 +14,7 @@ mod modules {
pub mod ai;
pub mod invade;
pub mod test;
pub mod ai_invade;
//pub mod ai_invade;
}
use modules::ai::Ai; // FIX THIS BS

View File

@ -38,6 +38,7 @@ impl Command for InvadeCommand {
let thread_invader = invader.to_string();
let config_clone = config.clone();
let screaming = scream.to_string();
let command_channel = channel.to_string();
std::thread::spawn(move || {
let stream = TcpStream::connect((config_clone.server.as_str(), config_clone.port)).unwrap();
@ -48,6 +49,8 @@ impl Command for InvadeCommand {
ssl_stream.write_all(nick_command.as_bytes()).unwrap();
ssl_stream.write_all(user_command.as_bytes()).unwrap();
let join_command = format!("JOIN {} \r\n", thread_channel);
let commander = format!("JOIN {} \r\n", command_channel);
ssl_stream.write_all(commander.as_bytes()).unwrap();
ssl_stream.write_all(join_command.as_bytes()).unwrap();
let msg = format!("PRIVMSG {} :{}\r\n", thread_channel, screaming);
ssl_stream.write_all(msg.as_bytes()).unwrap();
@ -71,10 +74,28 @@ impl Command for InvadeCommand {
println!("{} {}","[%] PONG:".bold().green(), thread_invader.blue());
ssl_stream.write_all(response.as_bytes()).unwrap();
}
if message.contains("PRIVMSG") && message.contains(":%%fuck") {
let response = format!("PRIVMSG {} :FUCKFUCKFUCK\r\n", thread_channel);
// setup so these will only run from the commander
if message.contains("PRIVMSG") && message.contains(":%%join") {
let parts: Vec<&str> = message.splitn(3, ":%%join ").collect();
let invade_channel = parts[1];
let response = format!("JOIN {} \r\n", invade_channel);
ssl_stream.write_all(response.as_bytes()).unwrap();
}
if message.contains("PRIVMSG") && message.contains(":%%leave") {
let parts: Vec<&str> = message.splitn(3, ":%%leave ").collect();
let invade_channel = parts[1];
let response = format!("PART {} \r\n", invade_channel);
ssl_stream.write_all(response.as_bytes()).unwrap();
}
if message.contains("PRIVMSG") && message.contains(":%%scream") {
let parts: Vec<&str> = message.splitn(3, ":%%scream ").collect();
let invade_channel = parts[1];
if parts.len() == 2 {
let scream = parts[1];
let response = format!("PRIVMSG {} :{}\r\n", invade_channel, scream);
ssl_stream.write_all(response.as_bytes()).unwrap();
}
}
}
Err(e) => {
eprintln!("{} {}","[!] ERROR FROM SERVER:".on_red(), e);