00:13 < bridge> ```cpp 00:13 < bridge> #ifndef ENGINE_SHARED_LOCALIZATION_H 00:13 < bridge> #define ENGINE_SHARED_LOCALIZATION_H 00:13 < bridge> 00:13 < bridge> /** 00:13 < bridge> * An empty function that suits as a helper to identify strings that might get localized later 00:13 < bridge> */ 00:13 < bridge> static constexpr const char *Localizable(const char *pStr, const char *pContext = "") 00:13 < bridge> { 00:13 < bridge> return pStr; 00:13 < bridge> } 00:13 < bridge> 00:13 < bridge> #endif 00:13 < bridge> ``` 00:13 < bridge> nice :D 00:15 < bridge> why is this in another file? 00:15 < bridge> also could be done with a macro `#define Localizable(x) x` 00:15 < bridge> 👀 00:16 < bridge> also could be done with a macro `#define Localizable` 00:16 < bridge> maybe i dont know if that works 01:24 < bridge> Ok so finally I found something. 01:24 < bridge> Actually the prediction issue was caused by accidentally sending a valid `m_FreezeEnd` in `CNetObj_DDNetCharacter` which is weird. 03:41 < bridge> So basically the client will continue to predict an unfreeze for any tee with no respect for the gametype UNLESS you tell the client that the character is deep frozen and can't be unfrozen by a laser or hammer. 03:43 < bridge> And this also seems to be correct maybe insta has its own player.cpp which does not include sending a `CNetObj_DDNetPlayer` and as a result the client does not render a pause button. 03:46 < bridge> I didn't really check the code for insta tbh. 03:46 < bridge> But I think the client prediction needs some changes. 03:46 < bridge> And maybe add a feature flag for pause/spec? I mean getting a net object doesn't mean the server has pause and spec commands available. 03:57 < bridge> I didn't really check the code for insta tbh. 03:57 < bridge> But I think the client prediction needs some changes. 03:57 < bridge> And maybe add something like a feature flag or maybe gameinfo fkag for pause/spec? I mean getting a net object doesn't necessarily mean the server has pause and spec commands available. 07:56 < bridge> gumo ^.^ 08:18 < bridge> morning osdevs langdevs and ddnet devs and others 08:20 < bridge> morning null terminated strings enjoyers and others 08:26 < bridge> im others 08:28 < bridge> What a lovely day it is 08:28 < bridge> !roll 0 10 08:28 < chillerbot> 10 08:28 < bridge> 100% agreed 08:28 < bridge> !roll 0 10 08:28 < chillerbot> 3 08:28 < bridge> :feelsbadman: 08:29 < bridge> Uff 08:45 < ws-client> **** btw you get percentage out of the box if you just do !roll its 0-100 08:46 < bridge> !roll 0 100 08:46 < chillerbot> 88 08:51 < bridge> !roll -1 08:51 < chillerbot> fatal internal error: javascript runtime buffer inter flow 08:51 < bridge> plz fix 08:52 < bridge> !roll 0 10 08:52 < chillerbot> 10 08:53 < bridge> that's right, because today is band evening again 🍻 09:03 < bridge> ``` 09:03 < bridge> client.wait_for_log_exact("client: connected, sending info", timeout=10) 09:03 < bridge> server.wait_for_log_prefix("server: player has entered the game", timeout=30) 09:03 < bridge> ``` 09:03 < bridge> 09:03 < bridge> I don't get how this is possible to get stuck, like the player does not enter apparently? 09:03 < bridge> ``` 09:03 < bridge> client.wait_for_log_exact("client: connected, sending info", timeout=10) 09:03 < bridge> server.wait_for_log_prefix("server: player has entered the game", timeout=30) 09:03 < bridge> ``` 09:03 < bridge> 09:03 < bridge> I don't get how this is possible to get stuck, like the player does not enter apparently? ^ part of the integration test 09:04 < bridge> ``` 09:04 < bridge> client.wait_for_log_exact("client: connected, sending info", timeout=10) 09:04 < bridge> server.wait_for_log_prefix("server: player has entered the game", timeout=30) 09:04 < bridge> ``` 09:04 < bridge> 09:04 < bridge> I don't get how this is possible to get stuck, like the player does not enter apparently? ^ part of the integration test, which fails at the server log 09:10 < ws-client> **** pyson issue 09:10 < ws-client> **** should rewrite in bash 09:11 < ws-client> **** it can get stuck if the client crashes i guess 09:12 < bridge> but the client is already connecting and sending info, is there another message to check if the client is connected on client side? 09:14 < bridge> I believe I can check this as well `client: got pong from current server` 09:15 < bridge> How do you know it’s connecting? 09:16 < bridge> I can send the full test 09:16 < bridge> it's on map switch 09:16 < bridge> ```python 09:16 < bridge> @test 09:16 < bridge> def client_reconnect_mapswitch(test_env): 09:16 < bridge> client = test_env.client() 09:16 < bridge> server = test_env.server() 09:16 < bridge> wait_for_startup([client, server]) 09:16 < bridge> client.command(f"connect localhost:{server.port}") 09:17 < bridge> server.wait_for_log_prefix("server: player has entered the game", timeout=10) 09:17 < bridge> 09:17 < bridge> client.command(f"rcon_auth {server.rcon_password}") 09:17 < bridge> server.wait_for_log_exact("server: ClientId=0 authed with key=default_admin (admin)") 09:17 < bridge> client.command("rcon sv_map Tutorial") 09:17 < bridge> client.wait_for_log_exact("client: connected, sending info", timeout=10) 09:17 < bridge> client.wait_for_log_prefix("client: got pong from current server", timeout=10) 09:17 < bridge> server.wait_for_log_prefix("server: player has entered the game", timeout=30) 09:17 < bridge> 09:17 < bridge> server.exit() 09:17 < bridge> client.wait_for_log_exact("client: offline error='Server shutdown'") 09:17 < bridge> ... 09:17 < bridge> ``` 09:17 < bridge> currently running the test again, waiting if I can get the pong message 09:18 < bridge> but probably the server doesn't send a pong or the client crashes, but I can't check if the python thread running the client is still running, can I? 09:18 < bridge> I wonder why we don't use pytest with fixtures here :/ 09:18 < bridge> Did you add a test or add a bug? 09:19 < bridge> the smoke test was failing, so I added a smaller test checking for only the behavior I want 09:19 < bridge> the smoke test was failing, so I added a smaller test checking for only the behavior I want, e.g. map switch 09:19 < bridge> my problem is I can only reproduce this in pipeline 09:20 < bridge> Yea idk much about the python stuff sorry go ping Heinrich 09:32 < bridge> I even get the pong message :monkaStop: it's like the client is happily connecting the the server just doesn't log 09:34 < bridge> can it be that I missed it? can the client enter before? 09:37 < bridge> > client.wait_for_log_exact("client: connected, sending info", timeout=10) 09:37 < bridge> This one also shouldn't work because it doesn't get that message on mapswitch 10:24 < bridge> I let the test print all client and server logs, it appears that something hangs after mapswitch :justatest: it doesn't crash, it just hangs. I wonder if it's actually just really really slow or does truly hang 10:58 < bridge> <01000111g> !roll 0 10 10:58 < chillerbot> 7 11:13 < bridge> !roll 0x01 0x0A 11:13 < chillerbot> 0 11:13 < bridge> !roll 001 007 11:13 < chillerbot> 3 11:15 < bridge> !roll 06 07 11:15 < chillerbot> 7 11:26 < bridge> !ddos 127.0.0.1 11:26 < chillerbot> ddosing game server 127.0.0.1 ... 11:30 < bridge> Well that's one way to get our entire server banned. 11:30 < bridge> <01000111g> ah i forgor about dc auto moderation 11:38 < bridge> :PepePopcorn: 11:56 < bridge> I wonder what happened 11:59 < ws-client> **** oops 12:08 < bridge> L tos btw why are we still on discord? 12:09 < bridge> you arent :nouis: 12:10 < bridge> chillor did u add ddos command 12:10 < bridge> Yea like you requested .\_. 12:10 < bridge> But murpii says it’s bad 12:10 < bridge> nooo :( 12:10 < bridge> discord is a no fun zone 12:11 < bridge> mr murpi is scared for his runs 12:33 < bridge> Discord sucks I agree 12:34 < bridge> We should migrate all conversation to DDNet in-game chat 12:34 < bridge> i think the issue is that the bot handles hexand octal vals 12:35 < bridge> i think the issue is that the bot handles hex and octal vals 12:35 < bridge> i think the issue is that the bot handles hex 12:35 < bridge> i like interactive discord more anyway 12:37 < bridge> Emotes and wiggling your mouse are way better than reaction emoji 12:38 < bridge> the ddos command was just this 12:38 < bridge> 12:38 < bridge> ```ts 12:38 < bridge> else if (cmd === 'ddos') { 12:38 < bridge> if (args.length !== 1) { 12:38 < bridge> say('usage: !ddos [server ip]') 12:38 < bridge> return 12:38 < bridge> } 12:38 < bridge> if (!/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(args[0])) { 12:38 < bridge> say('invalid ip') 12:38 < bridge> return 12:38 < bridge> } 12:38 < bridge> 12:38 < bridge> say(`ddosing game server ${args[0]} ...`) 12:38 < bridge> } 12:38 < bridge> ``` 12:38 < bridge> why murpi mad 12:38 < bridge> you could totally build a ddnet <-> discord dev bridge 12:38 < bridge> If you disagree with someone's engineering decisions you throw them into a kill tile to convince them 12:38 < bridge> hmm need to watch out with player count 12:39 < bridge> We can have a cross server chat bridge 12:40 < bridge> omg, you could make a city map where each room is another discord chat 😮 12:44 < bridge> !ddos 1.1.1.1 12:44 < chillerbot> ddosing game server 1.1.1.1 ... 12:46 < bridge> But for chat logs we need to log in game emoting and body language, which basically means teehistorian 12:47 < bridge> Can you stop 12:47 < bridge> It probably isn't searchable by chat history, and isn't indexed either... 12:48 < bridge> that wont get the server banned 12:48 < bridge> oh yeah eh - that may automatically flag our server as malicious 12:48 < bridge> ChillerDragon: can you rm -rf that pls. 12:48 < bridge> Do you think the Discord support team is sharp enough to recognize that this is "just a joke" similarly how they treat it people for joking about their age? 12:48 < bridge> Do you think the Discord support team is sharp enough to recognize that this is "just a joke" similarly how they treat ipeople for joking about their age? 12:49 < bridge> Do you think the Discord support team is sharp enough to recognize that this is "just a joke" similarly how they treat people for joking about their age? 12:49 < bridge> I'm not going to say that I'm 12 because I know what tends to happen 12:49 < bridge> oh wait really 12:49 < bridge> do you think they check that manually? :p 12:49 < bridge> no i didnt know they check it at all 12:50 < bridge> i wish they'd check stuff even harder 12:50 < bridge> the biggest discord bot had a /hack command which would "hack u" 12:50 < bridge> their automated system flagged my entire ISP as spam before 12:50 < bridge> i doubt that would ban but whatever 12:50 < bridge> (for any discord employees reading this, I'm 26) 12:50 < bridge> my messages didnt go tghrough because of it d 12:50 < bridge> my messages didnt go tghrough because of it xd 12:50 < bridge> our "bot" isnt a bot tho, its an IRC bridge with custom js 12:50 < bridge> its a webhook 12:51 < bridge> one more reason to dislike discord 12:51 < bridge> so what if the server gets flagged as malicious? 12:51 < bridge> they do 12:51 < bridge> will there be a warning for members 12:51 < bridge> if a server gets falgged 12:51 < bridge> they pause invites 12:52 < bridge> for a while 12:52 < bridge> if a server gets flagged 12:52 < bridge> wtf discord sucks 12:52 < bridge> oh you were banned? 12:52 < bridge> just join their discord to appeal! 12:52 < bridge> 12:52 < bridge> **this server has been closed for malicious activity** 12:52 < bridge> ah gg 12:52 < bridge> yep 12:53 < bridge> how long has this been a thing 12:53 < bridge> idk but we should respect murpi saying we shouldnt do it. 12:54 < bridge> idk but we should respect and trust murpi saying we shouldnt do it. 12:54 < bridge> yeah sure 12:54 < bridge> probably until sb sued or said or wrote to the mods that he would 12:54 < bridge> would be nice if he mentioned why first 12:54 < bridge> probably until sb sued or wrote to the mods that he would 12:54 < bridge> or i didn't see the message 12:55 < bridge> good that I used my throw-away-mail for discord 13:00 < bridge> Ah yes, programming DDoS commands under the assumption that it’s perfectly acceptable and not criminal, surely Discord will have no difficulty distinguishing satire from intent. What could go wrong? :justatest: 13:01 < bridge> reported 💔 13:05 < bridge> alright, what about stopddos command? 13:05 < bridge> https://tenor.com/view/doge-bonk-chew-mega-bonk-hitting-gif-26060616 13:06 < bridge> boink 13:07 < bridge> https://tenor.com/view/yakuza-goro-majima-watermelon-videogame-based-gif-895818775843577341 13:12 < ChillerDragon> !ping 13:12 < chillerbot> pong 13:12 < ChillerDragon> ddos fixed. lerato would be proud 13:13 < bridge> chillor im spamming issues with useless ideas 13:13 < bridge> pls dont ban 13:13 < ws-client> **** @Assa i did a ddnet to discord dev bridge already 13:16 < bridge> Does it translate emotes to :heartw: :tear: :sorry: :oop: :what: :happy: 13:16 < ws-client> **** who? 13:18 < bridge> The bridge needs to translate in-game emotes to emoji on the other side of the bridge, obviously 13:18 < bridge> :heartw: :heartw: 13:18 < ws-client> **** a ye 13:18 < ws-client> **** the bridge i built is pretty basic like 10 lines of ruby 13:34 < bridge> econ based probably? 13:34 < ws-client> **** nah it uses a lib 13:34 < ws-client> **** runs server written in native ruby xd 13:34 < bridge> I was thinking about a deeper level of integration, where you join/disconnect actual talking bots 13:34 < ws-client> **** oO 13:35 < ws-client> **** yea could be arranged 13:35 < bridge> yeah, but just because it's possible, it's not useless 13:35 < bridge> yeah, but just because it's possible, it's not useful 13:35 < ws-client> **** sounds like a milkeeycat project 13:35 < bridge> except when the ddnet-bridge bot then posts: "Assa has thrown Chillerdragon into deathtiles" 13:36 < ws-client> **** such use 13:36 < ws-client> **** much ful 13:38 < bridge> `Assa has moved ChillerDragon into the Go-Do-Reviews-corner` 13:38 < ws-client> **** pleb reviews useless 13:39 < bridge> ddnet-bot as permanent ig bot, marked as an announcer in the wall 13:39 < ws-client> **** stepbot 14:01 < bridge> i thought Roby flipped his profile pic for a second there ._. 14:02 < bridge> omg I wrote my review rn as it was robyt 14:02 < bridge> omg I wrote my review rn assuming it was robyt 14:02 < bridge> I was already wondering :kek: 14:31 < bridge> @learath2 got a interrupt descriptor table done 14:31 < bridge> i can catch page faults and double faults 14:31 < bridge> || and yo mama || 14:31 < bridge> i jest 14:31 < bridge> https://wiki.osdev.org/Interrupt_Descriptor_Table 15:16 < bridge> ``` 15:16 < bridge> KERNEL PANIC: panicked at src/interrupts/idt.rs:28:5: 15:16 < bridge> EXCEPTION: DOUBLE FAULT 15:16 < bridge> InterruptStackFrame { 15:16 < bridge> instruction_pointer: VirtAddr( 15:16 < bridge> 0x10000003be1, 15:16 < bridge> ), 15:16 < bridge> code_segment: SegmentSelector { 15:16 < bridge> index: 1, 15:16 < bridge> rpl: Ring0, 15:16 < bridge> }, 15:16 < bridge> cpu_flags: RFlags( 15:16 < bridge> RESUME_FLAG | 0x2, 15:16 < bridge> ), 15:16 < bridge> stack_pointer: VirtAddr( 15:16 < bridge> 0x18000001000, 15:16 < bridge> ), 15:16 < bridge> stack_segment: SegmentSelector { 15:16 < bridge> index: 2, 15:16 < bridge> rpl: Ring0, 15:16 < bridge> }, 15:16 < bridge> } 15:16 < bridge> 15:16 < bridge> QEMU exited with ExitStatus(unix_wait_status(8960)) 15:16 < bridge> ``` 15:16 < bridge> now if my kernel stack overflows it leads to a double fault instead of triple fault pog 15:42 < bridge> i wonder how a arm kernel would be, probs much simpler 15:42 < bridge> and riscv 16:04 < bridge> random info bit: 16:04 < bridge> 16:04 < bridge> If you stack overflow, how can the kernel handle the interrupt if just pushing the interrupt stack frame would lead to hitting the stack guard and faulting again, trygering a double fault, which in turn would trigger a triple fault? 16:04 < bridge> x86 solves this by allowing to swap to a valid stack by specifing it in the TSS (task state segment) for the given fault handler, in this case the double fault handler 16:04 < bridge> thanks for coming to my ted talk 16:58 < bridge> soo thats probably the only day i can solve, but 24 is quite the christmas score to archive xdd 16:58 < bridge> 16:58 < bridge> ```R 16:58 < bridge> #!/usr/bin/Rscript 16:58 < bridge> df <- read.delim(commandArgs(trailingOnly = T)[1], header = F, sep = "\n") 16:58 < bridge> p1 <- 0; p2 <- 0 16:58 < bridge> for (i in 1:length(df$V1)) { ifelse(df$V1[i] > df$V1[i-1], p1 <- p1 + 1, NA); } 16:58 < bridge> for (i in 3:length(df$V1)) { ifelse(df$V1[i] > df$V1[i-3], p2 <- p2 + 1, NA); } 16:58 < bridge> cat("Part 01: ", p1, "\n", "Part 02: ", p2, "\n", sep = "") 16:58 < bridge> ``` 16:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/915539393358483476/meh.png?ex=688dde81&is=688c8d01&hm=de7cb5ee76026f763d3fe597a537b4eb0e7bc4aebf03e4b6c6cb3fa85384fa31& 18:22 < ws-client> **** seems like the bridge got bugged i just got some messages about aoc 2021 18:32 < bridge> I was joking lmao. But I actually dont see them on matrix lol 18:53 < bridge> @learath2: any updates on merge rights? 19:02 < bridge> @learath2 if chiller gets merge rights, what can I do to get collaborator to be able to close very old issues 19:03 < bridge> I sometimes go through issues to find smth to code and a lot are outdated 19:03 < bridge> Since so many are open 19:07 < bridge> oh i didnt know there was a role in between 19:24 < bridge> Chiller has it currently 19:24 < bridge> Can just add labels and close issues afaik 19:24 < bridge> Would be useful bcs we added a rule to contribute md to only work on labeled issues 19:41 < bridge> where can I apply to this in between role? 20:17 < bridge> @kebscs: commenting what you would like to do worked well for me. Some maintainer will probably perform the action for you. And eventually someone gets annoyed and gives you more power :D 20:17 < bridge> Road to 666 issues and 69 prs 20:19 < bridge> Yea already commented on few issues and Roby closed them 20:19 < bridge> But it would be way more handy 20:19 < bridge> poggers 20:19 < bridge> With less work 20:21 < bridge> The role is quite op actually. I can reopen my own prs that got closed by maintainers. And can also close prs. 20:23 < bridge> 1 - I love chiller 20:23 < bridge> 2 - Chiller loves me 20:23 < bridge> 3 - Both love each other 20:23 < bridge> !roll 1 3 20:23 < chillerbot> 2 20:23 < bridge> uff 20:23 < bridge> One sided love.. I feel your pain chiller 20:23 < bridge> Ouch 20:23 < bridge> Must be maximum bug 21:14 < bridge> !roll 1 3 21:14 < chillerbot> 2 21:14 < bridge> :owo: 21:15 < bridge> how much money will i earn at my 30's? 21:15 < chillerbot> You can see donors and how to donate here https://ddnet.org/funding/ 21:15 < bridge> !roll 100000 100001 21:15 < chillerbot> 100000 21:15 < bridge> nice 21:15 < bridge> richz 21:17 < bridge> are ddnet playerbase real or are they all just ai bots? 21:17 < bridge> !roll 0 1 21:17 < chillerbot> 0 21:17 < bridge> I attack with my great axe 21:17 < bridge> !roll 1 20 21:17 < chillerbot> 8 21:17 < bridge> everyone ai confirmed 21:17 < bridge> miss :feelsbadman: 21:18 < bridge> will i hit jackpot? (gambling?!?!?!?!?!?) 21:18 < bridge> !roll 111 999 21:18 < chillerbot> 446 21:18 < bridge> aww 21:18 < bridge> cents? 21:20 < bridge> !roll 1 3 21:20 < chillerbot> 3 21:20 < bridge> omagad chiller 21:20 < bridge> gimme a lotto number 21:20 < bridge> !roll 1 49 21:20 < chillerbot> 26 21:20 < bridge> how rich am i currently (including all goods i own) 21:21 < bridge> !roll 0 1000000 21:21 < chillerbot> 131754 21:21 < bridge> sick 21:21 < bridge> i hope not 21:21 < bridge> :justatest: 21:21 < bridge> how much money ddcoins i get 21:21 < chillerbot> You can see donors and how to donate here https://ddnet.org/funding/ 21:21 < bridge> !roll 0 2147483647 21:21 < chillerbot> 899205065 21:21 < bridge> grrat 21:22 < bridge> great 21:22 < bridge> how much is a ddcoin worth in dollars? 21:22 < bridge> !roll 0 31000 21:22 < chillerbot> 27013 21:22 < bridge> lovely 21:23 < bridge> one last attempt 21:23 < bridge> !roll 111 999 21:23 < chillerbot> 664 21:23 < bridge> aww 21:23 < bridge> sad only paypal 21:44 < bridge> chillers bank pin 21:44 < bridge> !roll 1 999 21:44 < chillerbot> 667 21:44 < bridge> hm 21:44 < bridge> !roll 1 9999 21:44 < chillerbot> 1589 21:46 < bridge> worked, good bot 21:46 < bridge> :heartw: 21:46 < bridge> Robytes number of todos on his list 21:46 < bridge> !roll 0 100000 21:46 < chillerbot> 92886 21:46 < bridge> 100% true 21:46 < bridge> almost max value 😂 21:47 < bridge> my problems 21:47 < bridge> !roll 0 99 21:47 < chillerbot> 83 21:55 < bridge> how many days until i get admin 21:55 < bridge> !roll 0 10000 21:55 < chillerbot> 965 22:11 < bridge> am i stupid? 22:11 < bridge> !roll 0 1 22:11 < chillerbot> 1 22:12 < bridge> well 😔 22:14 < bridge> will i stop being stupid? 22:14 < bridge> !roll 0 1 22:14 < chillerbot> 0 22:14 < bridge> rude bot 22:14 < bridge> 😔 22:14 < bridge> are you telling truth? 22:14 < bridge> !roll 0 1 22:14 < chillerbot> 0 22:15 < bridge> so it was a joke 22:15 < bridge> evil bot 22:17 < bridge> one last attempt (truly last attempt this time) 22:17 < bridge> !roll 111 999 22:17 < chillerbot> 277 22:17 < bridge> aww 22:17 < bridge> so close 22:36 < bridge> how nice is manikoo from 1 to 2407 22:36 < bridge> !roll 1 2407 22:36 < chillerbot> 2094 22:36 < bridge> gud 22:36 < bridge> it's will be year of my death maybe 22:46 < bridge> when will i die? 22:46 < bridge> !roll 2025 2100 22:46 < chillerbot> 2075 22:47 < bridge> fair enough 22:47 < bridge> how old are u 22:47 < bridge> how old am i? 22:47 < bridge> y 22:47 < bridge> !roll 3 80 22:47 < chillerbot> 13 22:48 < bridge> ohohoho go 22:48 < bridge> !roll 1 80 22:48 < chillerbot> 26 22:48 < bridge> im barely old enough to use discord ig 22:48 < bridge> hahha 22:48 < bridge> maybe 22:49 < bridge> should i continue using discord? 22:49 < bridge> !roll 0 1 22:49 < chillerbot> 1 22:49 < bridge> i guess i will still on be discord 22:50 < bridge> should i install arch and leave internet 22:50 < bridge> !roll 0 1 22:50 < chillerbot> 0 22:50 < bridge> gud boy 22:50 < bridge> you will have a life 22:51 < bridge> should i install arch and leave internet 22:51 < bridge> !roll 0 1 22:51 < chillerbot> 1 22:51 < bridge> MAN 22:51 < bridge> i guess i domt have a life and live in the basement until 2075 22:51 < bridge> nooo 22:51 < bridge> i guess i dont have a life and live in the basement until 2075 22:51 < bridge> bomab it's so sad 22:52 < bridge> indeed 22:52 < bridge> but there is nothing i can do 22:52 < bridge> is there? 22:52 < bridge> !roll 0 1 22:52 < chillerbot> 0 22:52 < bridge> exactly 22:53 < bridge> will i get banned for occupying the so called developer channel for abusing the bot? 22:53 < bridge> !roll 0 1 22:53 < chillerbot> 1 22:53 < bridge> i guess thats a goodbye 22:54 < bridge> ill cry bomab 22:54 < bridge> so sad indeed 23:05 < bridge> !roll -5 -1 23:05 < chillerbot> -5 23:05 < bridge> !dice 23:05 < bridge> chillor my issues are top priority 23:06 < bridge> i need dice 23:25 < bridge> awesome 23:25 < bridge> awesome 23:29 < bridge> awesome 23:30 < bridge> <0xdeen> Thanks @manikoo ^ 23:31 < bridge> ||the funny thing is i don't know who did it :twinbop: || 23:38 < bridge> on a scale from 1 to 10 how pretty am i 23:38 < bridge> !roll 10 10 23:38 < chillerbot> 10 23:39 < bridge> !roll 1 10 23:39 < chillerbot> 5 23:39 < bridge> on a scale from 1 to 10 how petty is @sollybunny 23:39 < bridge> !roll 10 10 23:39 < chillerbot> 10 23:39 < bridge> !roll 0 10 23:39 < chillerbot> 1 23:39 < bridge> :) 23:39 < bridge> melon abusing mod powers 23:39 < bridge> wow deleting my message? 23:39 < bridge> how pretty is manikoo 23:39 < bridge> a:buse 23:39 < bridge> or not 23:39 < bridge> !roll 1 10 23:39 < chillerbot> 10 23:39 < bridge> solly is mod too now 23:39 < bridge> ur deleting my msgs 23:39 < bridge> gud 23:39 < bridge> not true 23:39 < bridge> ur lying 23:39 < bridge> no 23:39 < bridge> ghasp 23:40 < bridge> melon gud 23:40 < bridge> a:busing² 23:40 < bridge> solly abuse mod 23:40 < bridge> help im being abused 23:40 < bridge> @manikoo go #general 23:40 < bridge> shit 23:40 < bridge> wrong one 23:40 < bridge> @manikoo go #general 23:40 < bridge> melon says: @manikoo go #general 23:40 < bridge> 😓 23:40 < bridge> im developer 23:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1400956453342150726/image.png?ex=688e85de&is=688d345e&hm=a26d0407f7bcdee11876bcb1875df8cbeef4b47bb6506a5cfb99c884f5d8e51e& 23:40 < bridge> developer is poorple 23:40 < bridge> secret agent 23:40 < bridge> 007 23:41 < bridge> what agent is @manikoo 23:41 < bridge> !roll 000 999 23:41 < chillerbot> 903 23:41 < bridge> yeah right 23:41 < bridge> what 23:41 < bridge> rate solly's mod abuse 23:41 < bridge> !roll 1 1000 23:41 < chillerbot> 483 23:41 < bridge> !roll 0 0 23:41 < chillerbot> 0 23:42 < bridge> it's begin 1 23:42 < bridge> yeah im anti mod abuse 23:42 < bridge> how many years until 0.8 comes 23:42 < bridge> !roll 0 50 23:42 < chillerbot> 41 23:42 < bridge> matricks kid 23:42 < bridge> will code 0.8 23:42 < bridge> with chiller 23:42 < bridge> uhh are you silly 23:42 < bridge> chiller is matricks kid 23:43 < bridge> OOOH 23:43 < bridge> matricks + :twinbop: = @chillerdragon 23:43 < bridge> sure 23:43 < bridge> but no 23:43 < bridge> im talking about chillers bro 23:43 < bridge> brother 23:43 < bridge> steamers 23:47 < bridge> I don't get it