김연준

merging upgraded version from master branch

<<<<<<< HEAD
<h1>Building a Slackbot</h1><br>
<h2>A slackbot that reacts to user's chat and sends jokes </h2><br><br>
<h3>Currently operating on aws EC2 / managing it to run on docker container combining mongodb and the code to interact on 'aws docker version' branch</h3>
=======
<h1>Joker</h1><br>
<h2>A slackbot that reacts to user's chat and sends jokes </h2><br>
>>>>>>> master
<h3>Currently operating on aws EC2 / managing it to run on docker container combining mongodb and the code to interact on 'aws docker version' branch</h3><br><br>
<b>Collected Jokes api link: https://github.com/15Dkatz/official_joke_api<br>
Opensource for slackbot module link : https://github.com/mishk0/slack-bot-api<br>
Used Database: Mongodb</b><br>
![joker_fix](https://user-images.githubusercontent.com/39256000/58455581-0ce84100-815d-11e9-833c-90c7af08f52f.jpg)
![joker_fix](https://user-images.githubusercontent.com/39256000/58455581-0ce84100-815d-11e9-833c-90c7af08f52f.jpg)
\ No newline at end of file
......
......@@ -4,13 +4,17 @@ const dbname = 'jokeapi';
const emoji = require('../slack_emoji');
const url = 'mongodb://localhost:27017/';
exports.startbot = ()=>{
// Get authorization to use the slackbot
const bot = new SlackBot({
<<<<<<< HEAD
//xoxb-582582124755-587875604934-gdWsVhzGXCze3mECWXpTsAP6
token : "xoxb-582582124755-587875604934-gdWsVhzGXCze3mECWXpTsAP6",
name : "Joker"
=======
token : "xoxb-651692943605-645515979745-sfNJBLVbIIb86Bz1gfFc7oT2",
name : "joker"
>>>>>>> master
});
// Start the slackbot
......@@ -82,7 +86,6 @@ bot.on('message', (data) => {
// Responding to Data
function handleMessage(message, current_channel){
console.log(message);
//Handles message response depending on the user message
if(message.includes(' tell me') || message.includes(' Tell me')){
if(message.includes(' knock')){
......@@ -99,37 +102,44 @@ function handleMessage(message, current_channel){
else if(message.includes(' programming')){
programmingJoke(current_channel);
}
else if(message.includes(' me ')){
bot.postMessageToChannel(current_channel, "Tell you what??? :no_mouth:", emoji.emojis('no_mouth'));
else if(message.includes(' reddit')){
redditJoke(current_channel);
}
else{
comment = "Sorry I dont' have that kind of joke.....:droplet::droplet::droplet:\nPlease use @joker --help to know what I can do!";
bot.postMessageToChannel(current_channel, comment, emoji.emojis('flushed'));
else if(message.includes(' funny story')){
Funnystory(current_channel);
}
else if(message.includes(' me')){
comment = "Please use @joker --help to know what I can do!:smiliey::smiliey::smiliey:\n You can write type of joke[knock-knock, general, programming, funny story, reddit]";
bot.postMessageToChannel(current_channel, "Tell you what??? :no_mouth:", emoji.emojis('no_mouth'));
bot.postMessageToChannel(current_channel, comment, emoji.emojis('flushed'));
}
}
else if(message.includes(' help')){
comment = "If you want to start @joker then write [tell me] and write type of joke [knock-knock, general, programming, funny story, reddit]:smiley:!!!";
bot.postMessageToChannel(current_channel, comment, emoji.emojis('smiliey'));
}
else if(message.includes(' what jokes')){
jokeTypes = ["general", 'programming', 'knock-knock'];
bot.postMessageToChannel(current_channel, `I have ${jokeTypes[0]}, ${jokeTypes[1]}, ${jokeTypes[2]} jokes!! :thumbsup: :thumbsup:`, emoji.emojis('thumbsup'));
jokeTypes = ["general", 'programming', 'knock-knock','reddit','funny story'];
bot.postMessageToChannel(current_channel, `I have ${jokeTypes[0]}, ${jokeTypes[1]}, ${jokeTypes[2]},${jokeTypes[3]},${jokeTypes[4]} jokes!! :thumbsup: :thumbsup:`, emoji.emojis('thumbsup'));
return;
}
// else{
// const embarrased = {
// icon_emoji: ':flushed:'
// };
// const sweat = {
// icon_emoji: ':droplet:'
// };
// comment = "Sorry I'm not smart enough to understand this.....\nPlease use @joker help to know what I can do!";
// bot.postMessageToChannel('everyone', comment, embarrased);
// }
//else if(message.inculdes(' write'))
//{
// MakeJoke(message);
//}
/*else{
comment = "Sorry I'm not smart enough to understand this.....\nPlease use @joker help to know what I can do!";
bot.postMessageToChannel(current_channel, comment, emoji.emojis('flushed'));
}*/
}
function MakeJoke(message){
fs.writeFile('../joke_data//jokes.json',message,function(err){
if(err) {
console.log('Error' + err);
}
console.log('완료');
})
}
//Gets a random integer
function getRandomInt(max_num) {
min = Math.ceil(1);
......@@ -251,6 +261,62 @@ programmingJoke= (user_channel)=>{
})
};
//Function for giving out funny story
Funnystory= (user_channel)=>{
MongoClient.connect(url, function (err, client){
if (err) throw err;
var db = client.db('FunnyStoryapi');
random = getRandomInt(200);
result = db.collection('FunnyStory').findOne({id: random});
user = result;
//if the random picked api type is not general execute the function from the start to get another format for general type
user.then(function(total){
category = total.category
bot.postMessageToChannel(user_channel, category, emoji.emojis('smiliey'));
console.log("이야기 카테고리")
return total;
})
.then((all)=>{
story = all.body;
bot.postMessageToChannel(user_channel, `${story}:stuck_out_tongue_winking_eye::laughing:`, emoji.emojis('laughing'))
console.log("이야기 시작!");
})
client.close();
})
};
//Function for giving out random joke after filtering only reddit jokes
redditJoke= (user_channel)=>{
MongoClient.connect(url, function (err, client){
if (err) throw err;
var db = client.db('redditjoke');
json_max = 70;
random = getRandomInt(json_max);
result = db.collection('reddit').findOne({id: random});
user = result;
//if the random picked api type is not general execute the function from the start to get another format for general type
user.then(function(total){
title = total.title;
bot.postMessageToChannel(user_channel, title, emoji.emojis('smiliey'));
console.log("문답형 JOKE")
return total;
})
.then((all)=>{
joke = all.body;
bot.postMessageToChannel(user_channel, `${joke}:stuck_out_tongue_winking_eye::laughing:`, emoji.emojis('laughing'))
console.log("정답은~~");
})
client.close();
})
};
//Function for giving out random joke after filtering only knock-knock type jokes
knockknockJoke= (user_channel)=>{
MongoClient.connect(url, function (err, client){
......
......@@ -2,19 +2,23 @@ const MongoClient = require('mongodb').MongoClient;
const jokedoc = require('./joke_data/jokes.json');
const dbname = 'jokeapi';
const collec = 'jokes';
<<<<<<< HEAD
const dboperation = require('./operations');
=======
const dboperation = require('./operations.js');
>>>>>>> master
var url = "mongodb://localhost:27017/jokeapi";
//Create database
MongoClient.connect(url, function(err, db) {
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
//Create collection
MongoClient.connect(url, function(err, db) {
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
var dbo = db.db("jokeapi");
dbo.createCollection("joke", function(err, res) {
......@@ -26,7 +30,7 @@ MongoClient.connect(url, function(err, db) {
//Storing data jokes.json data into mongodb
MongoClient.connect(url).then((client) => {
MongoClient.connect(url,{ useNewUrlParser: true }).then((client) => {
console.log('Connected correctly to server');
......
const MongoClient = require('mongodb').MongoClient;
const jokedoc = require('./joke_data/Funny_story.json');
const dbname = 'FunnyStoryapi';
const collec = 'FunnyStory';
const dboperation = require('./operations.js');
var url = "mongodb://localhost:27017/FunnyStoryapi";
//Create database
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
//Create collection
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
var dbo = db.db("FunnyStoryapi");
dbo.createCollection("FunnyStories", function(err, res) {
if (err) throw err;
console.log("Collection created!");
db.close();
});
});
//Storing data jokes.json data into mongodb
MongoClient.connect(url,{ useNewUrlParser: true }).then((client) => {
console.log('Connected correctly to server');
const db = client.db(dbname);
dboperation.insertDocument(db, jokedoc, collec)
.then((result) => {
console.log("Inserted Document:\n", result.ops);
return dboperation.findDocuments(db, collec);
})
.catch((err) => console.log(err));
})
.catch((err) => console.log(err));
const MongoClient = require('mongodb').MongoClient;
const jokedoc = require('./joke_data/reddit_joke.json');
const dbname = 'redditjoke';
const collec = 'reddit';
const dboperation = require('./operations.js');
var url = "mongodb://localhost:27017/redditjoke";
//Create database
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
//Create collection
MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {
if (err) throw err;
var dbo = db.db("redditjoke");
dbo.createCollection("redditjokes", function(err, res) {
if (err) throw err;
console.log("Collection created!");
db.close();
});
});
//Storing data jokes.json data into mongodb
MongoClient.connect(url,{ useNewUrlParser: true }).then((client) => {
console.log('Connected correctly to server');
const db = client.db(dbname);
dboperation.insertDocument(db, jokedoc, collec)
.then((result) => {
console.log("Inserted Document:\n", result.ops);
return dboperation.findDocuments(db, collec);
})
.catch((err) => console.log(err));
})
.catch((err) => console.log(err));
This diff could not be displayed because it is too large.
[
{
"body": "Now I have to say \"Leroy can you please paint the fence?\"",
"id": 1,
"score": 1,
"title": "I hate how you cant even say black paint anymore"
},
{
"body": "Pizza doesn't scream when you put it in the oven .\n\nI'm so sorry.",
"id": 2,
"score": 0,
"title": "What's the difference between a Jew in Nazi Germany and pizza ?"
},
{
"body": "...and being there really helped me learn about American culture. So I visited a shop and as I was leaving, the Shopkeeper said \"Have a nice day!\" But I didn't so I sued him.",
"id": 3,
"score": 0,
"title": "I recently went to America...."
},
{
"body": "A Sunday school teacher is concerned that his students might be a little confused about Jesus, so he asks his class, \u201cWhere is Jesus today?\u201d\nBrian raises his hand and says, \u201cHe\u2019s in Heaven.\u201d\n\nSusan answers, \u201cHe\u2019s in my heart.\u201d\n\nLittle Johnny waves his hand furiously and blurts out, \u201cHe\u2019s in our bathroom!\u201d\n\nThe teacher is surprised by this answer and asks Little Johnny how he knows this.\n\n\u201cWell,\u201d Little Johnny says, \u201cevery morning, my Dad gets up, bangs on the bathroom door and yells \u2018Jesus Christ, are you still in there?'\u201d",
"id": 4,
"score": 1,
"title": "Brian raises his hand and says, \u201cHe\u2019s in Heaven.\u201d"
},
{
"body": "He got caught trying to sell the two books to a freshman.",
"id": 5,
"score": 0,
"title": "You hear about the University book store worker who was charged for stealing $20,000 worth of books?"
},
{
"body": "Because the p is silent.",
"id": 6,
"score": 0,
"title": "Why is it unknown on how pterodactyls urinate especially during flight?"
},
{
"body": "To avoid leaving tracks like a snail while walking.",
"id": 7,
"score": 0,
"title": "Why women need legs?"
},
{
"body": "Apparently \"Whatever's low in cholesterol\" was not the right answer.",
"id": 8,
"score": 1,
"title": "I walked into a PETA adoption center and the receptionist asked me what kind of dog I wanted"
},
{
"body": "Character actors!",
"id": 9,
"score": 0,
"title": "How did TV studios make words appear on screen before computers?"
},
{
"body": "You follow his fresh prints. ",
"id": 10,
"score": 0,
"title": "How do you find Will Smith in the snow?"
},
{
"body": "I always thought they were gunna hit me, not that they were going to destroy the housing market 20 years later.",
"id": 11,
"score": 15,
"title": "Remember when you were a kid and when you cried your parents said, \"I'll give you a reason to cry\"?"
},
{
"body": "... Anal Destiny.",
"id": 12,
"score": 0,
"title": "Remember, you can't spell Valentine's Day without..."
},
{
"body": "Oh and it's also Valentines day",
"id": 13,
"score": 0,
"title": "Happy try not to jump off a bridge day!"
},
{
"body": "I said, \"I'm not sure; it's hard to keep track.\"",
"id": 14,
"score": 3,
"title": "My boss said to me, \"you're the worst train driver ever. How many have you derailed this year?\""
},
{
"body": "cuz all they do is Tweet",
"id": 15,
"score": 1,
"title": "If I get a bird I'm naming it Trump"
},
{
"body": "But my back was sore and I couldn't reach.",
"id": 16,
"score": 0,
"title": "I was going to get a headjob for Valentines Day"
},
{
"body": "When she woke up after 6 months and 3 days, the doctor told the mother: \"While you were in a coma, we had your brother name your children. One is a boy, one is a girl.\"\n\nThe mother, with a disappointed and angry look on her face told the doctor: \"Why my brother? That guy is an idiot. So what did he name them?\"\n\nThe mother, expecting hideous names, prepared herself.\n\n\"The girl, was named Denise.\" The mother thought, \"Hey that wasn't so bad. What about my boy?\"\n\nThe doctor said, \"Denephew\".",
"id": 17,
"score": 3,
"title": "A mother went into a coma after giving birth to twins"
},
{
"body": "An epileptical. ",
"id": 18,
"score": 2,
"title": "What do you call an exercise machine with a strobe light?"
},
{
"body": "...and a lifetime ban from the local zoo. ",
"id": 19,
"score": 2,
"title": "My dad has a heart of a lion"
},
{
"body": "But the bigger, heavier ones are delivered by a crane. ",
"id": 20,
"score": 3,
"title": "Smaller babies may be delivered by a stork."
},
{
"body": "Welcome to India",
"id": 21,
"score": 0,
"title": "A monkey is getting stoned in a zoo..."
},
{
"body": "A young boy says to his father \"Dad, our math teacher is asking to see you.\"\n\n\"What happened?\" The father asks.\n\n\"Well, she asks me, 'how much is 7 * 9?' I answer '63' , then she asks, 'and 9 * 7?' so I asked 'what's the fucking difference?' \"\n\n\"Indeed, what is the difference?\" asks the father. ''Sure, I'll go.''\n\nThe next day, the boy comes home from school \"Dad, have you gone by the school?\" He asks.\n\n\"Not yet.\"\n\n\"Well when you do, come and see the gym teacher also.\"\n\n\"Why?\" asks the father.\n\nThe boy explains, \"Well we had a gym class today, and he asked me to raise my left arm, I did. Then my right arm, I also raised it. Then he asked me to lift my right leg, so I did. 'Now,' he says, 'lift your left leg,' so I asked 'What, am I suppose to stand on my cock!?'\"\n\n\"Exactly,\" says the father. \"Alright, I'll come.\"\n\nThe next day, the boy asks his father \"Did you go to the school?\"\n\n\"No, not yet.\"\n\n\"Don't bother, I got expelled.\"\n\nSurprised, the father asks \"Why did you get expelled?\"\n\n\"Well, they summoned me to the principal's office, and sitting there were the math teacher, the gym teacher, and the art teacher.\"\n\n\"The fuck was the art teacher doing there!?\" asks the father.\n\n\"That's what I said\" replied the boy.",
"id": 22,
"score": 62,
"title": "I've translated a popular Russian joke to English , wanna hear you reaction ))"
},
{
"body": "I dont have any, go ask your fava",
"id": 23,
"score": 1,
"title": "What did the mommy bean say to her son when he asked for money?"
},
{
"body": "And save $300 instantly.",
"id": 24,
"score": 1,
"title": "When You Break Up At 11:59 Tonight"
},
{
"body": "But I can't A4'd it.",
"id": 25,
"score": 4,
"title": "I wanted to buy an Audi."
},
{
"body": "It's about a girl with amnesia talking to her Grandmother.\nThe lyrics are \"Oh, Nana, What's My Name?\"",
"id": 26,
"score": 1,
"title": "I'm Trying to Remember The Name of A Song"
},
{
"body": "Lesser people. ",
"id": 27,
"score": 0,
"title": "What are minorities?"
},
{
"body": "Because all of his cells have built a wall.",
"id": 28,
"score": 3,
"title": "Did you hear that Donald Trump is technically a plant?"
},
{
"body": "my neck was stiff for 4 hours",
"id": 29,
"score": 2,
"title": "i had trouble swallowing a viagra last night"
},
{
"body": "The Ruler",
"id": 30,
"score": 11,
"title": "What is the king of all school supplies?"
},
{
"body": "Since he was permanently disfigured, he decided to give up playing rugby for good.\n\n His club and insurance company ensured that a large sum of money went his way.\n\nOne day, he decided to invest his money in a small but growing sportswear business. \n\nHe bought the company outright but after signing on the dotted line, realized that he knew nothing about business. \n\nHe decided to employ someone to run the shop.\n\nThe next day he set up three interviews. \n\nThe first guy was great. \n\nHe knew everything he needed to and was very enthusiastic. \n\nAt the end of the interview, the former rugby player asked him, \u201cDo you notice anything different about me?\u201d\n\nAnd the man replied, \u201cWhy, yes, I couldn\u2019t help noticing you have no ears.\u201d \n\nThe rugby player got angry and threw him out.\n\nThe second interview was with a woman, and she was even better than the first guy. \n\nHe asked her the same question, \u201cDo you notice anything different about me?\u201d\n\nShe replied: \u201cWell, you have no ears.\u201d \n\nHe got upset again and showed her the door.\n\nThe third and last interview was with the best of the three. \n\nHe was a very young man fresh out of college. \n\nHe was smart and handsome and seemed to know all about the sportswear business.\n\nThe rugby player was anxious, but went ahead and asked him the same question: \u201cDo you notice anything different about me?\u201d\n\nTo his surprise the young man answered: \u201cYes, you wear contact lenses.\u201d\n\nThe former rugby player was shocked, and said, \u201cWhat an incredibly observant young man you are. How in the world did you know that?\u201d\n\nThe young man fell off his chair laughing hysterically and replied, \u201cWell, it\u2019s pretty hard to wear glasses with no flipping ears!\u201d",
"id": 31,
"score": 12,
"title": "A rugby player was hurt very badly during a scrum and he had both of his ears ripped off..."
},
{
"body": "A man was in his front yard mowing grass when his attractive blonde female neighbor came out of the house and went straight to the mail box.\n\nShe opened it, slammed it shut, and stormed back in the house.\n\nA little later she came out of her house and again went to the mail box and again opened it, then slammed it shut again. Angrily, back into the house she went.\n\nAs the man was getting ready to edge the lawn, here she came out again, marched to the mail box, opened it and then slammed it closed harder than ever.\n\nPuzzled by her actions the man asked her, \u201cIs something wrong?\u201d\n\nTo which she replied, \u201cThere certainly is! My stupid computer keeps giving me a message saying, \u201cYOU\u2019VE GOT MAIL!\u201d",
"id": 32,
"score": 1,
"title": "A man was in his front yard mowing grass when his attractive blonde female !!"
},
{
"body": "A woman runs into a doctor\u2019s office and says \u201cDOCTOR! DOCTOR! You have to help me! Everywhere I touch on my body it hurts!\u201d\n\nThe doctor replied, \u201cShow me.\u201d\n\nSo the woman poked her ankle and screamed of pain. Then she poked her knee and yelled OW. She poked her forehead and screamed again.\n\nShe was about to continue when the doctor said, \u201cThat\u2019s enough, let me think this over.\u201d He thought for about a minute and said \u201cI think I know what your problem is. You broke your finger.\u201d",
"id": 33,
"score": 5,
"title": "A woman runs into a doctor\u2019s office and says \u201cDOCTOR! DOCTOR! You have to help me! Everywhere I touch on my body it hurts!\u201d"
},
{
"body": "Because interest in the Bond is so low.",
"id": 34,
"score": 3,
"title": "Why did the producers of 007 films use government debt to fund their newest film?"
},
{
"body": "Happy pocket empty day.",
"id": 35,
"score": 2,
"title": "Pocket empty day !"
},
{
"body": "\u2026but she probably isn't available.",
"id": 36,
"score": 2,
"title": "I want to see that new movie coming out with Scarlett Johannson\u2026"
},
{
"body": "He has no compass and he has lost his sense of direction. \n\nSuddenly he sees a caravan on the horizon. He jumps, shouts and waves his arms to get their attention, and, oh joy, they notice him and move in his direction. \n\nBut his happiness is short lived, as the travelers turn out to be mean and sadistic. They rough him up, and then bury him in the sand with only his head above the surface.\n\nHe grimly contemplates whether he'll die of sun stroke, dehydration or from attack of some savage beast. Suddenly, a lone traveler appears in front of him and inquires about his predicament. \n\n**You see, first I got lost, without a compass and provisions. Then I encountered these sadists, who beaten me up, bury me this way and left... Can you believe such behavior?**\n\n**Tsk, tsk...** says the traveler, as he puts his foot on top of the man's head and pushes it under the surface **Amateurs, such amateurs...**",
"id": 37,
"score": 3,
"title": "Man gets lost in the desert."
},
{
"body": "You have to drop the Bomb twice before she gets the Message. \n",
"id": 38,
"score": 37,
"title": "Why is it so hard to break up with a Japanese Girl?"
},
{
"body": "All that is left after tens of snowmen were brutally melted on this spot by a massive indifferent ball of fire.",
"id": 39,
"score": 0,
"title": "Site of the 2017 Dane county massacre."
},
{
"body": "A small child asks his father:\n\nBoy: Dad, where did I come from?\n\nDad: The Stork, son.\n\nBoy: what's wrong with you dad? Your wife is so gorgeous yet you're out fucking The Stork?",
"id": 40,
"score": 0,
"title": "He fucked what?"
},
{
"body": "I told her she should try the kitchen",
"id": 41,
"score": 0,
"title": "My wife wants to eat somewhere shes never eaten before for V-Day"
},
{
"body": "In exchange, I was supposed to advertise some kind of bathroom cleaner. Of course I declined, because I am a person with high moral standards and strong willpower. Just as strong as Ajax, the super strong bathroom cleaner. Now available with scented lemon or vanilla.",
"id": 42,
"score": 4,
"title": "I was offered sex with a 21 yr old today"
},
{
"body": "\"The other day I touched my husband's balls and realized that they are cold. Never noticed before!\" - says the first. \n\nNext day the second woman tells to the others:\n\n\"That's true! I touched my husband's balls and they are also cold. It's curious.\" \n\nNext day the third woman appears with her eye blacked. \n\n\"What happened?\" - her friends wonder.\n\n\"Well, I touched my husband's balls and then asked him why his balls are warm but all other men have them cold.\"",
"id": 43,
"score": 6,
"title": "3 women talk"
},
{
"body": "The ones who bang on the wall, And the ones who bang on the wall because I'm banging my girlfriend on the wall",
"id": 44,
"score": 1,
"title": "There are two types of people"
},
{
"body": "Someone stepped on its mouse.",
"id": 45,
"score": 3,
"title": "Why did the computer squeak?"
},
{
"body": "Your moms bed.",
"id": 46,
"score": 3,
"title": "i found a place where the recycling rate is 98%."
},
{
"body": "My wife sat down on the couch next to me as I was flipping channels.\nShe asked, 'What's on TV?' \nI said, 'Dust.' And then the fight started....\n\nMy wife was hinting about what she wanted for our upcoming anniversary. She said, 'I want something shiny that goes from 0 to 100 in about 3 seconds.'\n\nI bought her a weighing scale. And then the fight started....\n \n\nWhen I got home last night, my wife demanded that I take her someplace expensive.\n\nSo I took her to a petrol pump. And then the fight started....\n \nMy wife was standing & looking in the bedroom mirror. She was not happy with what she saw and said to me, 'I feel horrible. I look old, fat and ugly. I really need you to give me a compliment.\"\n\nI replied, \"Your eyesight is perfect.\" And then the fight started....\n \nI asked my wife, \"Where do you want to go for our anniversary?\"\nIt warmed my heart to see her face melt in sweet appreciation.\n\"Somewhere I've not been in a long time.\"\n\nSo I took her to my parents' house. And then the fight started....\n",
"id": 47,
"score": 6,
"title": "Valentine's day fights"
},
{
"body": "She died a virgin but she sure wasn't buried one",
"id": 48,
"score": 0,
"title": "I feel so bad for the necrophiliac's sister"
},
{
"body": "A Calendar has a date on Valentine's day.",
"id": 49,
"score": 14,
"title": "What's the difference between you and a Calendar?"
},
{
"body": "He tried to make eggs. He broke the yoke.\n\nYoke! Oh! Oh no!",
"id": 50,
"score": 0,
"title": "Julian Lennon messed up breakfast"
},
{
"body": "'Hello!?'\n\n'Hey! Honey, you wouldn't believe the day I'm having right now, I lost my phone!'\n\n'Hello, I'm not your wife, I'm Cecelia, your new maid!'\n\n'Oh! That's great! Welcome! I'm having a crazy day right now, can you please hand the phone to my wife?'\n\n'I would but she just locked her room and went in with another man!'\n\n'What!! That's a disaster! As if this day wouldn't get worse!! All these years, all this love for this day! I can't bear this anymore'\n\n'I'm really sorry to hear that!'\n\n'Don't be sorry, it's not your fault! I need a moment to think but time is running out! Do one thing... In the drawer below the phone there's a gun!'\n\n'What!! I won't do anything stupid!!'\n\n'No.. You don't understand.. I'm very rich and powerful.. No one can touch you and I'll pay you a million!'\n\n'But...'\n\n'I'll pay you two million but you have to be quick about it, he shouldn't get away!'\n\n'Okay..'\n\n\nCecelia steps away and there are two bangs that are heard.\n\n\n'I've done it'\n\n'Excellent! Now throw the bodies in the empty pool at the back and I'll take care of them when I get back'\n\n'What pool!???'\n\n'Umm.. Is this 852236709?'",
"id": 51,
"score": 3,
"title": "A guy calls home"
},
{
"body": "This post.",
"id": 52,
"score": 0,
"title": "I found a place where the recycling rate is 100%"
},
{
"body": "I'm a dog.\n\nHappy Valentine's Day!",
"id": 53,
"score": 11,
"title": "Roses are gray. Violets are gray."
},
{
"body": "Don't worry, we have our Trump card.",
"id": 54,
"score": 0,
"title": "I hear the Mexicans are planning an attack on America"
},
{
"body": "They said thank you. I said don't mention it.",
"id": 55,
"score": 7,
"title": "I bought my friend an elephant for their room."
},
{
"body": "But I'm laughing braces I just farted. ",
"id": 56,
"score": 0,
"title": "You're laughing because I'm laughing."
},
{
"body": "She said \"Honey, we've been married for 7 years. I think you have amnesia.\"",
"id": 57,
"score": 2,
"title": "This guy proposed to his wife after walking away from a terrible car accident without a scratch. He said \"Life's too short and it can end at any time.\""
},
{
"body": "But only once",
"id": 58,
"score": 2,
"title": "TIL you can drink lava"
},
{
"body": "Houston we have a problem...OK what is it? If you don't know already I am not going to tell you. You wouldn't understand.",
"id": 59,
"score": 1,
"title": "First woman on mars."
},
{
"body": "I give you, \"The Lamb That Thyme Forgot\" ",
"id": 60,
"score": 1,
"title": "Recipe idea: rosemary and thyme lamb, without the thyme."
},
{
"body": "Jos\u00e9 and Hose B.",
"id": 61,
"score": 2,
"title": "What are the two most common names of Mexican fire-fighter?"
},
{
"body": "... and he said \"Fuck the Police\"",
"id": 62,
"score": 3,
"title": "Ice Cube was asked if there was a rock band from the 80's of which he would have sex with all the members of..."
},
{
"body": "Apparently using the words \"Never opened\" is no good, when trying to sell a parachute..",
"id": 63,
"score": 2,
"title": "Bad Advertisement"
},
{
"body": "Cacti are thorny\n\nI just can't help that\n\nYou make me horny",
"id": 64,
"score": 4,
"title": "Roses are red."
},
{
"body": "And they are very private. Ever since they were young they wouldn't talk about sex publicly, but instead developed a code phrase: Doing a load of laundry. \n\nOne night they are out at the pub, having a couple drinks, and Seamus turns to Mary and asks \"D'ya fancy going home and doing a load of laundry?\"\n\nMary looks at Seamus and says \"you know that sounds lovely. Let's do.\"\n\nThey finish their drinks and head home together. \n\nAt home they are sitting in front of the fire, Seamus smoking his pipe and Mary with her knitting. Seamus asks \"Mary? D'ya still fancy that load of laundry?\" \n\nMary looks at Seamus and says \"aye I do, I really do. Let me just finish my knitting.\"\n\nSo Seamus gets up and heads to the bed room. \n\nMary keeps knitting and forgets all about Seamus. \n\nAfter an hour she realizes she forgot and jumps up and rushes to the bedroom. \"Seamus?\" Mary asks, \"D'ya still fancy doing a load of laundry?\"\n\nFrom under the covers Seamus replies \n\n\"Y'know, Mary, it was a small load, so I did it by hand.\"",
"id": 65,
"score": 4,
"title": "So Seamus and Mary are an elderly couple"
},
{
"body": "It's all just flake news.",
"id": 66,
"score": 5,
"title": "These reports of a major snowstorm hitting the Northeast don't concern me."
},
{
"body": "A young Native American boy goes up to the chief of his tribe and asks \"Chief, how did we get our names?\"\n\nThe Chief looked at the boy and said \"Oh, that's simple. All parents in our tribe named their children after something that was occurring during their birth. For example, Snowflake was born during a great blizzard. Ember was born during a raging wildfire.\n\nWhy do you ask, Two Dogs Fucking?\"",
"id": 67,
"score": 1,
"title": "Why do you ask?"
},
{
"body": "Yep, that's the joke. Funny how reality has become a joke. ",
"id": 68,
"score": 0,
"title": "Those ads actually ran."
},
{
"body": "Customers who wish to purchase an item must use code-phrases to avoid the authorities' suspicion.\n\nOne night a blind man stops by the stand.\n\n\"What would you like to purchase today?\" asks the cashier.\n\n\"Oh, nothing\" the blind man says, \"I was just *looking* around!\"\n\nAn few hours later, a deaf man approaches the stand. The cashier realizes he can't hear him, and uses sign-language to ask what he'd like to purchase.\n\n\"Well, I *heard* you guys are having a sale!\" the deaf man states with a wink and a nudge.\n\nFinally, just before that night's closing time, a muscular man with no apparent disability walks up to the stand. The cashier asks what he'd like to purchase.\n\n\"I don't know ... I heard you guys sold *cherries*!\" the man states with a look of subtle expectation.\n\nThe cashier, despite going through his mental checklist of code-phrases, has no idea what he wants.\n\n\"I'm sorry, we've sold-out on that item.\" the cashier says with a puzzled stare.\n\n\"Ah *motherfucking* christ!\" the man screams in pseudo-frustration. However, the cashier just stands there with an agitated face.\n\nThe customer, realizing his attempts aren't getting through to the employee, tries a different approach.\n\n\"Well, that's a darn shame!\" he continues. \n\"And I travelled across the entire *count-*\" \n\nThe man coughs.\n\n\"-ry to get here!\"\n",
"id": 69,
"score": 1,
"title": "There's a bizarre black-market concession stand in North America which sells only human body parts"
},
{
"body": "Should have cooked it on aloha temperature ",
"id": 70,
"score": 54,
"title": "Burnt my Hawaiian pizza today"
}
]
\ No newline at end of file