Barntender Bot

By PsykotyK on Apr 04, 2010

okay so this is a revised version of a different bartender script on here with drinks and snacks im constantly updating and will update it as needed. thanks to FNG, ibanez and csgraves for helpin me write it.

!bar-to get first messages
!drinklist-to get list of drinks
!maketab-to make a tab
!checktab-checks your current tab
!pay-pays tab
!served-tells the owner of the bot what drinks were served
!snakcbar-opens snacks

On *:JOIN:#: {
 .notice $nick Welcome to $chan type !bar for drink selections or !snackbar for snacks
}

on *:TEXT:!bar:#: {
  .notice $nick Can i get you anything to drink? Type !Drinklist for a list of drinks.*
  .timer 1 1 .notice $nick I forgot to mention, in order for us to serve you please open a tab. Just type !maketab and your tab will be setup. you only need to do this once i will remember you from now on.
}

On *:TEXT:!Maketab:#: {
  set % $+ $nick
  .inc % $+ $nick 0
  .timer 1 1 .notice $nick Alright buddy your tab is all set up go ahead and order your drinks. Don't be a deadbeat customer and please pay your tab. 
  .timer 1 2 .notice $nick if you're wondering how much you owe just type !Checktab or to pay it simply type !Pay and your tab will be cleared and you can order more drinks. we do have a cutoff here of 100 dollars so if your tab reaches 100 you need to pay it before you can resume drinking.
}
On *:TEXT:!Drinklist:#: {
  .timer 1 2 .describe $Chan Points to a sign on the wall

  .timer 1 3 .notice $nick We have a good assorment round here. soda, jack and coke, rum and coke, water beer, vodka and coke, jager, soco, cuba libre,

  .timer 1 4 .notice $nick Looking at drinks i see. well to order simply type your drink with an exlamation point in front like so !soda. As you order a drink i will add it to your tab. multi name drinks such as jack and coke can be odered by just typing the alcohol name so for jack and coke it would be !jack.

  .timer 1 6 .notice $nick Ohh, don't forget to keep track of your tab. To check it at any time use the !Checktab command, and pay with the !pay command.
}

On *:TEXT:!soda:#: {
  if (!soda isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .Describe $chan Shakes head and continues wiping down glasses, "Sorry buddy your tab is maxed out. I can't serve you anymore untill you pay me."
  }
  Else {
    describe $Chan grabs a glass from under the bar and fills it with ice

    .timer 1 2 describe $Chan Adds soda to the glass and slides it over to $nick.
    .timer 1 3 msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 2
    .Inc %total 
    .timer 1 4 .notice $nick you have a % $+ $nick dollar tab running
  }
}

On *:TEXT:!jack:#: {
  if (!jack isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .timer 1 1 .Describe $chan Shakes head and continues wiping down glasses, "Sorry buddy your tab is maxed out. I can't serve you anymore untill you pay me."

  }
  Else { 
    .timer 1 1 .describe $Chan Grabs a tall boy glass from the shelf and fills it with ice and a double shot of Jack Daniels

    .timer 1 3 .describe $Chan Adds coke and slides it across the bar to $nick
    .timer 1 4 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 5
    .Inc %total 
    .timer 1 5 .notice $nick You have a % $+ $nick Dollar tab running
  }
}

On *:TEXT:!Rum:#: {
  if (!rum isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan Shakes head and continues wiping down glasses, "Sorry buddy your tab is maxed out. I can't serve you anymore untill you pay me."

  }  
  Else {
    .describe $Chan grabs a tall boy glass from the shelf and fills it with ice and a double shot of Captain Morgan Rum

    .timer 1 2 describe $Chan Adds coke and slides it down the bar to $nick

    .timer 1 4 msg $Chan there ya go buddy ill add it to your tab
    inc % $+ $nick 5
    .Inc %total 
    .timer 1 6 .notice $nick You have a % $+ $nick Dollar tab running
  }
}

On *:TEXT:!water:#: {
  if (!water isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan Shakes head and continues wiping down glasses, "Sorry buddy your tab is maxed out. I can't serve you anymore untill you pay me."

  }  
  Else {
    .timer 1 1 .describe $Chan grabs a bottle of water and plants it firmly on the table

    .timer 1 3 .msg $Chan there ya go buddy ill add it your tab
    .inc % $+ $nick 2
    .Inc %total 
    .timer 1 4 .notice $nick you have a % $+ $nick Dollar tab running
  }
}

On *:TEXT:!Vodka:#: {
  if (!Vodka isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan Shakes head and continues wiping down glasses, "Sorry buddy your tab is maxed out. I can't serve you anymore untill you pay me."

  }  
  Else {
    .timer 1 1 .describe $Chan grabs a tall boy glass from the shelf and fills it with ice and Grey Goose Vodka

    .timer 1 3 .describe $Chan adds coke and slides it across the bar to $nick
    .timer 1 4 .msg $chan there ya go buddy ill add it your tab
    .inc % $+ $nick 5
    .Inc %total 
    .timer 1 4 notice $nick you have a % $+ $nick Dollar tab running
  }
}

On *:TEXT:!Jager:#: {
  if (!Jager isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan Shakes head and continues wiping down glasses, "Sorry buddy your tab is maxed out. I can't serve you anymore untill you pay me."

  } 
  Else {
    .timer 1 1 .describe $Chan grabs a shotglass from the shelf and fills it with chilled Jagermeister
    .timer 1 2 .describe $chan fills a glass for himself and hands $nick his glass
    .timer 1 3 .msg $chan here ya go buddy ill add it your tab
    .timer 1 4 .describe $chan raises shot glass for a toast
    .timer 1 5 .msg $chan Here's to swimmin with bowlegged women.
    .inc % $+ $nick 7
    .inc %total
    .timer 1 6 .notice $nick You have a % $+ $nick Dollar tab running.
  }
}

On *:TEXT:!soco:#: {
  if (!soco isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan Shakes head and continues wiping down glasses, "Sorry buddy your tab is maxed out. I can't serve you anymore untill you pay me."

  } 
  Else {
    .timer 1 1 .describe $Chan grabs a large shot glass and fills it with ice cold Soco

    .timer 1 3 .describe $Chan puts it down in front of $nick 
    .timer 1 4 .msg $chan drink up buddy
    .inc % $+ $nick 5
    .Inc %total 
    .timer 1 4 .notice $nick You have a % $+ $nick Dollar tab running
  }
}

on *:TEXT:!cuba:#: {
  if (!cuba isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan Shakes head and continues wiping down glasses, "Sorry buddy your tab is maxed out. I can't serve you anymore untill you pay me."

  } 
  Else {
    .describe $chan grabs a tallboy glass from the shelf and fills it with ice and Bacardi Silver Rum
    .timer 1 2 .describe $chan adds a splash of coke grabs the cutting board a kinfe and a lime cuts a lime wedge and tosses it into the drink
    .timer 1 3 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 4
    .inc %total
    .timer 1 4 .notice $nick You have a % $+ $nick Dollar tab running
  }
}

on *:TEXT:!snackbar:#: {
  .timer 1 1 .describe $chan hands $nick a menu
  .timer 1 2 .notice $nick well if its food ya want its food ya get we have pizza pepperoni or cheese, hamburgers, chips, fries, cupcakes, cookies, popcorn, purple doritos
}

on *:TEXT:!pepperoni:#: {
  if (!pepperoni isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."

  }
  Else {
    .describe $chan slides $nick a paper plate with a slice of greasy pepperoni pizza on it
    .timer 1 2 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 3
    .inc %total
    .timer 1 3 .notice $nick you have a % $+ $nick Dollar tab running
  }
}

on *:TEXT:!cheese:#: {
  if (!cheese isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."
  }
  Else {
    .describe $chan slides $nick a paperplate with greasy cheese pizza
    .timer 1 1 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 3
    .incs %total
    .timer 1 2 .notice $nick you have a % $+ $nick Dollar tab running
  }
}

on *:TEXT:!hamburger:#: {
  if (!hamburger isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."
  }
  Else {
    .describe $chan goes to the kitchen and throws a burger on the grill
    .notice $nick gonna be a few gotta cook it
    .timer 1 10 .describe $chan come out of the kitchen with a perfectly cooked hamburger and puts it down in front of $nick along with 2 slices of cheese ketchup mustard and any other condiments that a real buger needs
    .timer 1 11 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 5
    .inc %total
    .timer 1 12 .notice $nick you have a % $+ $nick Dollar tab running
  }
}

on *:TEXT:!chips:#: {
  if (!chips isin $$1) && ($($+(%,$nick),2) >= 100) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."
  }
  Else {
    .describe $chan hands $nick a bag of potato chips
    .timer 1 1 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 2
    .inc %total
    .timer 1 2 .notice $nick you have a % $+ $nick Dollar tab running
  }
}

on *:TEXT:!fries:#: {
  if (!fries isin $$1) && ($($+(%,$nick),2) >= 100) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."
  }
  Else {
    .describe $chan walks back to the kitchen and throws some fries in the fryer
    .notice $nick gonna take a few gotta cook em
    .timer 1 10 .describe $chan throws the fries in a basket and puts them down in front of $nick along with ketchup mustard mayo and salt
    .timer 1 11 .msg $chan there ya go buddy ill add it to your tab and salt em yourself i never get it right
    .inc % $+ $nick 3
    .inc %total
    .timer 1 12 .notice $nick you have a % $+ $nick Dollar tab running
  }
}

on *:TEXT:!cupcake:#: {
  if (!cupcake isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."
  }
  Else {
    .describe $chan gives $nick a home made cupcake
    .timer 1 1 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 1
    .inc %total
    .timer 1 2 .notice $nick you hvae a % $+ $nick Dollar tab running
  }
}

on *:TEXT:!cookie:#: {
  if (!cookies isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."
  }
  Else {
    .describe $chan gives $nick a home made cookie
    .timer 1 1 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 1
    .inc %total
    .timer 1 2 .notice $nick you hvae a % $+ $nick Dollar tab running
  }
}
on *:TEXT:!popcorn:#: {
  if (!popcorn isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."
  }
  Else {
    .describe $chan hands $nick a bag of popcorn
    .timer 1 1 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 2
    .inc %total
    .timer 1 2 .notice $nick you have a % $+ $nick DOllar tab running
  }
}

on *:TEXT:!doritos:#: {
  if (!doritos isin $$1) && ($($+(%,$nick),2) >= 100 ) {
    .describe $chan shakes head and continues whiping down glasses, "Sorry buddy your tab is maxed out. i can't serve you anymore until you pay me."
  }
  Else {
    .describe $chan hands $nick a bag of purple doritos
    .timer 1 1 .msg $chan there ya go buddy ill add it to your tab
    .inc % $+ $nick 2
    .inc %total
    .timer 1 2 .notice $nick you have a % $+ $nick DOllar tab running
  }
}

on *:TEXT:!Pay:#: { 
  .timer 1 1 .set % $+ $nick 0 
.timer 1 2 .notice $nick alright then $nick your tab is clear thanks for paying! }

on *:TEXT:!checktab:#: {
  .timer 1 1 .notice $nick You currently have % $+ $nick Dollars in back dues.    
}

on *:TEXT:!served:#: {
  if ($istok(our nick here,$nick,32)) {
    .timer 1 1 .notice $nick we have served %total Drinks and snacks
  }
}

on *:part:#: {
  if ($($+(%,$nick),2) > 0 ) {
    .msg $chan Hey they left without paying assholes
    .notice $nick COME BACK HERE AND PAY YOUR TAB!
  }
}

Comments

Sign in to comment.
PsykotyK   -  Apr 10, 2010

i could but that would mean rewriting and re testing it works as it sets so im happy fer now... still tryna get an on *:quit:#: { trigger to work

 Respond  
csgraves28   -  Apr 09, 2010

for example
ON :TEXT::#: {
if ($1 == !bar) {
.notice $nick Can i get you anything to drink? Type !Drinklist for a list of drinks.
.timer 1 1 .notice $nick I forgot to mention, in order for us to serve you please open a tab. Just type !maketab and your tab will be setup. you only need to do this once i will remember you from now on.
}
if ($1 == !Maketab) {
set % $+ $nick
.inc % $+ $nick 0
.timer 1 1 .notice $nick Alright buddy your tab is all set up go ahead and order your drinks. Don't be a deadbeat customer and please pay your tab.
.timer 1 2 .notice $nick if you're wondering how much you owe just type !Checktab or to pay it simply type !Pay and your tab will be cleared and you can order more drinks. we do have a cutoff here of 100 dollars so if your tab reaches 100 you need to pay it before you can resume drinking.
}
if ($1 == !Drinklist) {
describe $Chan Points to a sign on the wall
.timer 1 3 .notice $nick We have a good assorment round here. soda, jack and coke, rum and coke,water,beer,vodka and coke, jager, soco, cuba libre,
.timer 1 4 .notice $nick Looking at drinks i see. well to order simply type your drink with an exlamation point in front like so !soda. As you order a drink i will add it to your tab. multi name drinks such as jack and coke can be odered by just typing the alcohol name so for jack and coke it would be !jack.
.timer 1 6 .notice $nick Ohh, don't forget to keep track of your tab. To check it at any time use the !Checktab command, and pay with the !pay command.
}
}
and so on like this :)

 Respond  
csgraves28   -  Apr 09, 2010

PsykotyK you can take a lot of your on text events and make them if statements...save on space :)

 Respond  
PsykotyK   -  Apr 08, 2010

no probs i got rid of it

 Respond  
calvinus   -  Apr 08, 2010

oops! sorry!

 Respond  
calvinus   -  Apr 08, 2010

Well, after a few tries, it worked. I had put it in the wrong place! I wish you guys would say where to place the script! It would help novices like me!

I live in Europe, so i have adapted it for Euros and drinks here. I have also cut out the American "buddy" things, i hope this is ok? I did a programming course years ago, but i forgot most of it. Let me know if you want to see the Euro version of Bartender Bot. I still have a lot to add, like tea, coffee, milk, pie and chips(fries) fish and chips etc.

BTW, does anyone have a bot that counts words from each chatter on mirc, then with the command "!top10" it shows the top 10 chatters? i have used it on a channel, but i can't remember where.

Thanks!

 Respond  
PsykotyK   -  Apr 05, 2010

it passed extensive testing idk why it wouldnt be working for you. but the on join message and on part messages are the only ones that do not need specific triggers.

 Respond  
Kwarsh   -  Apr 05, 2010

I'm having a problem with this bot, it will only say the welcome message and then it won't show anything after that.

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.