diff --git a/.gitignore b/.gitignore index 928bd50..c6e84fd 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ creds/github_token.txt sentence_tokenizer.pickle db.sqlite3-shm db.sqlite3-wal -*idea +*idea \ No newline at end of file diff --git a/README.md b/README.md index bd67b61..264978f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Shani Sir Telegram Bot A Shani Sir Telegram bot who is savage in groups, sends you clips of Sir, and can get up close and personal with you in the DMs! -Chat with him now: @shanisirbot +Chat with him now: [@shanisirbot](https://t.me/shanisirbot/) ## Commands available: The following commands are currently available to use: diff --git a/bot_funcs/bday_wisher.py b/bot_funcs/bday_wisher.py index cf02687..f849342 100644 --- a/bot_funcs/bday_wisher.py +++ b/bot_funcs/bday_wisher.py @@ -1,8 +1,9 @@ from datetime import datetime, date from telegram.ext import CallbackContext +from telegram.utils.helpers import mention_html -from constants import group_ids +from constants import group_ids, class_12b from helpers.logger import logger from online import gcalendar @@ -11,9 +12,10 @@ def wish(context: CallbackContext) -> None: """Gets the next birthday from Google Calendar and wishes you if today is your birthday.""" gcalendar.main() - days_remaining, name = gcalendar.get_next_bday() + bdays = gcalendar.get_next_bday() + days_remaining = bdays[0][0] - bday_msgs = (f"Happy birthday {name}! !πŸŽ‰ I don't know why like, but I know you despise me with the burning " + bday_msgs = (f"Happy birthday (placeholder)! !πŸŽ‰ I don't know why like, but I know you despise me with the burning " f"passion of a thousand suns. I don't give a flux, like you say. I implore you to let go of " f"hate and embrace love. Spend the rest of your days with love in your heart and faith in your " f"soul. Life's cyclotron may sometimes send you tumbling around, but remember that it is " @@ -22,29 +24,43 @@ def wish(context: CallbackContext) -> None: f"straight path. I wish you the best. May your jockeys be unpressed and your apertures small. " f"Enjoy your 18th. Forget about coronabitch. Godspeed.", - f"Happy birthday {name}! I wish you the best of luck for life. Remember: You matter. Until you " + f"Happy birthday (placeholder)! I wish you the best of luck for life. Remember: You matter. Until you " f"multiply yourself times the speed of light squared. Then you energy, like you say!πŸŽ‰ What " f"your going to do today like?", - f"Happy birthday {name}! !πŸŽ‰ What your going to do today like?") + f"Happy birthday (placeholder)! !πŸŽ‰ What your going to do today like?") # Wishes from Google Calendar- if days_remaining == 0: _12B = group_ids['12b'] - msg = context.bot.send_message(chat_id=_12B, text=bday_msgs[2]) - context.bot.pin_chat_message(chat_id=_12B, message_id=msg.message_id, disable_notification=True) - logger(message=f"Happy birthday message for {name} was just sent to the 12B group.") - now = str(date.today()) today = datetime.strptime(now, "%Y-%m-%d") # Parses today's date (time object) into datetime object new_date = today.replace(year=today.year + 1) - gcalendar.CalendarEventManager(name=name).update_event(new_date) # Updates bday to next year + context.bot_data.setdefault('pin_msgs', []) + + for _, name in bdays: + try: + mention = mention_html(class_12b[name.capitalize()], name) + except KeyError: # For those fools who don't use Telegram :( + mention = name + + msg = context.bot.send_message(chat_id=_12B, text=bday_msgs[2].replace('(placeholder)', mention), + parse_mode="HTML") + context.bot.pin_chat_message(chat_id=_12B, message_id=msg.message_id, disable_notification=True) + + context.bot_data['pin_msgs'].append(msg) + + logger(message=f"Happy birthday message for {name} was just sent to the 12B group.") + gcalendar.CalendarEventManager(name=name).update_event(new_date) # Updates bday to next year + + context.bot.send_message(chat_id=_12B, text="πŸŽ‚") # Animated cake emoji :) + del _12B, now, today, new_date + + elif days_remaining in {21, 69}: + for _, name in bdays: + context.bot.send_message(chat_id=group_ids['12b'], text=f"{name}'s birthday is in {days_remaining} days!!") + logger(message=f"Happy birthday reminder for {name}({days_remaining} days) was just sent to the 12B group.") - del _12B, msg, now, today, new_date - elif days_remaining in (21, 69): - context.bot.send_message(chat_id=group_ids['12b'], text=f"{name}'s birthday is in {days_remaining} days!!") - logger(message=f"Happy birthday reminder for {name}({days_remaining} days) was just sent to the 12B group.") - del days_remaining, name - # TODO: Wishes from /tell birthday input- + del days_remaining, bdays, bday_msgs diff --git a/bot_funcs/commands.py b/bot_funcs/commands.py index 2c532c0..b2c1d27 100644 --- a/bot_funcs/commands.py +++ b/bot_funcs/commands.py @@ -4,6 +4,7 @@ from telegram import error, InlineKeyboardButton, InlineKeyboardMarkup, Poll, Update from telegram.ext import CallbackContext +from constants import class_12b from helpers.logger import logger from helpers.namer import get_chat_name from online import util, quiz_scraper @@ -153,9 +154,33 @@ def quizizz(update: Update, context: CallbackContext) -> None: context.bot.send_poll(chat_id=update.effective_chat.id, question=question[0], options=options[0], is_anonymous=False, type=Poll.QUIZ, correct_option_id=answer[0]) + @staticmethod + def mention_all(update: Update, context: CallbackContext) -> None: + """Bot mentions all 12B users""" + + del_command(update) + msg = '' + for lad, _id in class_12b.items(): + msg += f"[{lad}](tg://user?id={_id})\t" + + context.bot.send_message(chat_id=update.effective_chat.id, text=msg, parse_mode="MarkdownV2") + + logger(message=f"{update.message.from_user.first_name} used mention_all. Group: {update.effective_chat.title}") + + # @staticmethod + # def broadcast(update: Update, context: CallbackContext) -> None: + # """Allows unclesam79 or harshil21 to broadcast a message via the bot""" + # + # if update.effective_chat.id in [samir, harshil]: + # context.bot.send_message(chat_id=update.effective_chat.id, text="Who do I broadcast to, master?") + # logger(message=f"Broadcast initiated.") + # return 0 + # + # return -1 + @staticmethod def unknown(update: Update, context: CallbackContext) -> None: """When user uses an invalid command.""" context.bot.send_message(chat_id=update.effective_chat.id, text="I didn't say wrong I don't know.") - logger(message=f"{update.effective_user.first_name} just used something weird in {get_chat_name(update)}.") + logger(message=f"{update.effective_user.first_name} just used something weird in {get_chat_name(update)}.") \ No newline at end of file diff --git a/bot_funcs/conversation.py b/bot_funcs/conversation.py index e1b6d71..86134fd 100644 --- a/bot_funcs/conversation.py +++ b/bot_funcs/conversation.py @@ -155,7 +155,7 @@ def reply(update: Update, context: CallbackContext) -> None: text = update.message.text if update.message.reply_to_message.from_user.username == context.bot.username: # If the reply is to this bot: - if not (text.startswith('!r') or text.endswith('!r')): # Don't reply if this is prepended or appended. + if not (text.startswith('!r') or text.endswith('!r')): # Don't reply if !r is prepended or appended. logger(message=f"Bot received a reply from {update.effective_user.first_name} in " f"{update.effective_chat.title}.") shanifier(update, context, is_group=True, the_id=update.message.message_id) diff --git a/bot_funcs/delete_pin.py b/bot_funcs/delete_pin.py index 52cc241..d6f79f3 100644 --- a/bot_funcs/delete_pin.py +++ b/bot_funcs/delete_pin.py @@ -1,3 +1,5 @@ +from datetime import datetime + from telegram import Update from telegram.ext import CallbackContext @@ -9,3 +11,16 @@ def de_pin(update: Update, context: CallbackContext) -> None: context.bot.delete_message(chat_id=update.effective_chat.id, message_id=update.message.message_id) logger(message=f"Bot deleted a pinned service message from {update.effective_chat.title}.") + + +def unpin_all(context: CallbackContext) -> None: + """Unpins all messages pinned by bot once daily.""" + + pin_msgs = context.bot_data['pin_msgs'] + if not pin_msgs or (pin_msgs and (datetime.now() - pin_msgs[0].date).days == 0): # del if >= 1 day has passed + return + + for msg in pin_msgs: # We don't use unpin_all_chat_messages as we want to unpin msgs only from this bot + msg.unpin() + + pin_msgs.clear() diff --git a/bot_funcs/morning_wisher.py b/bot_funcs/morning_wisher.py index 4e8292f..9923bce 100644 --- a/bot_funcs/morning_wisher.py +++ b/bot_funcs/morning_wisher.py @@ -1,3 +1,4 @@ +import random from datetime import datetime from telegram.ext import CallbackContext @@ -19,29 +20,33 @@ def morning_goodness(context: CallbackContext) -> None: if 'last_sent' not in context.bot_data: context.bot_data['last_sent'] = right_now + context.bot_data.setdefault('pin_msgs', []) + diff = right_now - context.bot_data['last_sent'] # Send only if it has been over a day since last good morning message and current time is between 8 and 11AM- if diff.days < 1 or right_now >= afternoon or right_now <= eight_am: return - with open("files/good_mourning.txt", "r") as greetings: + with open("files/good_mourning.txt", "r+") as greetings: + quotes = greetings.readlines() position = context.bot_data['seek'] - if position == 13642: # If EOF was reached - position = 0 # Start from the beginning + if position == 13642: # if EOF was reached + position = 0 # start from the beginning + random.shuffle(quotes) # randomise order of quotes + greetings.writelines(quotes) greetings.seek(position) greeting = greetings.readline() logger(message=f"Today's morning quote is:\n{greeting}") - context.bot_data['seek'] = greetings.tell() + context.bot_data['seek'] = greetings.tell() # update file cursor position query = "SELECT CHAT_ID, CHAT_NAME FROM CHAT_SETTINGS WHERE MORNING_MSGS='βœ…';" ids = connection(query, fetchall=True) logger(message=f"The query executed on the database was:\n{query}\nand the result was:\n{ids=}") # Open mp3 from desktop as github url doesn't support thumbnails- - - clip_loc = r"C:\Users\Uncle Sam\Desktop\sthyaVERAT\4 FUN ya Practice\Shanisirmodule\Assets\clips\bell.mp3" + clip_loc = r"C:/Users/Uncle Sam/Desktop/sthyaVERAT/4 FUN ya Practice/Shanisirmodule/Assets/clips/bell.mp3" for chat_id, chat_name in ids: try: @@ -50,18 +55,19 @@ def morning_goodness(context: CallbackContext) -> None: context.bot.send_chat_action(chat_id=chat_id, action='upload_audio') - context.bot.send_audio(chat_id=chat_id, title="Good morning", performer="Shani Sir", + context.bot.send_audio(chat_id=chat_id, title="Good morning", performer="Shani sir", audio=open(clip_loc, "rb"), thumb=open("files/shanisir.jpeg", 'rb')) logger(message=f"Today's morning audio was just sent to {chat_name}.") context.bot.pin_chat_message(chat_id=chat_id, message_id=msg.message_id, disable_notification=True) - del msg - except Exception as e: # When chat is private, no rights to pin message, or if bot was removed. + context.bot_data['pin_msgs'].append(msg) + + except Exception as e: # Insufficient permissions, bot removal/block, or any other unexpected error logger(message=f"There was an error for {chat_name} due to: {e}.") - context.bot_data['last_sent'] = datetime(right_now.year, right_now.month, right_now.day, 8) # Set it as 8AM today + context.bot_data['last_sent'] = eight_am # Set it as 8AM today context.dispatcher.persistence.update_bot_data(context.bot_data) logger(message="The last_sent object was successfully updated to 8AM today.") - del right_now, afternoon, eight_am, diff, greeting, query, ids, clip_loc \ No newline at end of file + del right_now, afternoon, eight_am, diff, greeting, query, ids, clip_loc diff --git a/bot_funcs/quiz.py b/bot_funcs/quiz.py index b78c9cf..008ba12 100644 --- a/bot_funcs/quiz.py +++ b/bot_funcs/quiz.py @@ -1,6 +1,7 @@ import os import random as r from datetime import datetime +from datetime import timedelta from time import sleep import matplotlib @@ -61,13 +62,12 @@ def send_quiz(context: CallbackContext) -> None: logger(message=f"The 5 quizzes were just sent to tms group successfully.") - if right_now.day not in (29, 30, 31): # If not in final days of a month, set date 2 days after - context.bot_data['stop_quiz_date'] = datetime(right_now.year, right_now.month, right_now.day + 2) - - else: # TODO: Contingency for new year - context.bot_data['stop_quiz_date'] = datetime(right_now.year, right_now.month + 1, 1) + if 'stop_quiz_date' not in context.bot_data: + context.bot_data['stop_quiz_date'] = right_now + context.bot_data['stop_quiz_date'] += timedelta(days=2) context.bot_data['last_quiz'] = right_now # Save new time for last quiz + context.dispatcher.persistence.flush() @@ -90,7 +90,10 @@ def timedout(context: CallbackContext) -> None: "This is like you say embarrassing to me. You have to put effort and work towards the boards now", "That's it. I am telling mudassir sir now. Just tell me what's the confusion.", "Are you fine? Physics is easy what's the problem like", - "You are troubling me. See I just wanted to be in the right direction nothing else I mean okay?") + "You are troubling me. See I just wanted to be in the right direction nothing else I mean okay?", + "Even after this much time you're not learning like you say", + "Now I'm not working on this okay? Finish. Do what you want", + "I'm calling your parents and now you have to come to support class, good for you okay?") scold_names = "" @@ -99,13 +102,13 @@ def timedout(context: CallbackContext) -> None: context.bot.stop_poll(chat_id=group_ids['grade12'], message_id=quiz.message_id) except Exception as e: print(e) - pass + context.bot.send_chat_action(chat_id=group_ids['grade12'], action='upload_photo') pp(context) leaderboard(context) # Make the leaderboard context.bot.send_photo(chat_id=group_ids['grade12'], photo=open('leaderboard.png', 'rb'), - caption="Current standings now") # Send latest leaderboard + caption="Current standings") # Send latest leaderboard logger(message=f"The leaderboard was just sent on the group.") @@ -116,9 +119,12 @@ def timedout(context: CallbackContext) -> None: to_scold.append((user_id, name)) # Add to list of people to scold value['answers_wrong'] = 0 # Reset answers_wrong for every quiz - for _id, name in to_scold: + for index, _id, name in enumerate(to_scold): mention = mention_html(user_id=_id, name=name) # Get their mention in html - scold_names += mention + " " # Add a whitespace after every name + if index == len(to_scold) - 1 and len(to_scold) > 1: # If last item and not the only item in the list + scold_names += f"and {mention}.\n" # Add 'and' for final item + else: + scold_names += f"{mention}, " # Add a whitespace after every name logger(message=f"{name} is going to be scolded.") if to_scold: # Send only if there is someone to scold! @@ -130,7 +136,7 @@ def timedout(context: CallbackContext) -> None: context.bot_data['stop_quiz_date'] = None context.bot_data['sent_quizzes'].clear() # Clear all quizzes - logger(message="Changed quiz date to None and cleared sent quizzes") + logger(message="Reset quiz date to None and cleared sent quizzes.") context.dispatcher.persistence.flush() @@ -148,7 +154,7 @@ def receive_answer(update: Update, context: CallbackContext) -> None: for quiz in context.bot_data['sent_quizzes']: if quiz.poll.id == update.poll_answer.poll_id: correct_answer = quiz.poll.correct_option_id - logger(message=f"tms quiz was answered by {user.first_name}") + logger(message=f"TMS quiz was answered by {user.first_name}") break else: # Only happens when /quizizz quiz was answered. logger(message=f"/quizizz was answered by {user.first_name}") @@ -173,6 +179,7 @@ def receive_answer(update: Update, context: CallbackContext) -> None: if correct_answer != chosen_answer[0]: # If guy got it wrong lad['answers_wrong'] += 1 + lad['answers_right'] -= 1 # Deduct one mark for wrong answer else: lad['answers_right'] += 1 @@ -211,7 +218,7 @@ def round_pic() -> None: continue img = Image.open(f"profile_pics/{name}").convert("RGB") - npImage = np.array(img) + np_image = np.array(img) h, w = img.size # Create same size alpha layer with circle @@ -220,16 +227,16 @@ def round_pic() -> None: draw.pieslice([0, 0, h, w], 0, 360, fill=255) # Convert alpha Image to numpy array - npAlpha = np.array(alpha) + np_alpha = np.array(alpha) # Add alpha layer to RGB - npImage = np.dstack((npImage, npAlpha)) + np_image = np.dstack((np_image, np_alpha)) png_name = name.replace('jpg', 'png') jpg_name_path = f"{cwd}/profile_pics/{name}" # Save with alpha - Image.fromarray(npImage).save(f"profile_pics/{png_name}") # Only saves in .png + Image.fromarray(np_image).save(f"profile_pics/{png_name}") # Only saves in .png os.remove(jpg_name_path) # Remove jpg file @@ -276,7 +283,7 @@ def leaderboard(context) -> None: return mean = sum(vals) / len(vals) # Gets average for color sorting later - vals, names = zip(*sorted(zip(vals, names))) # Sorts both lists correspondingly in ascending order. Returns tuples + vals, names = zip(*sorted(zip(vals, names))) # Sorts both lists correspondingly in descending order. Returns tuples matplotlib.use('Agg') canvas, ax = plt.subplots(1, 1, figsize=(10, 8)) # That fig size is perfect for 1920x1080 (Don't change this!) plt.grid() # Shows grid lines @@ -295,8 +302,8 @@ def leaderboard(context) -> None: marks = bar.get_width() # Get no. of correct answers of that guy if index == len(barlist) - 1: # Make text bolder, add trophy for the guy who is #1 - size = 15 - alpha = 1 # alpha controls transparency + size = 12 + alpha = 0.9 # alpha controls transparency trophy_scale = 0.16 * max(vals) # Value obtained by experimenting effects = [patheffects.SimpleLineShadow(shadow_color='black', alpha=0.95), patheffects.Normal()] @@ -304,31 +311,37 @@ def leaderboard(context) -> None: ax.add_artist(ab) # Draws annotation else: - size = 11 + size = 9 alpha = 0.7 effects = None if marks > mean: color = '#00FA3F' # Set bar color to green if guy got above avg marks - elif marks <= mean - 5: + elif marks <= mean - 3: color = '#FA1D07' # Set bar color to red if guy got really bad marks else: color = '#F8ED0F' # Set bar color to yellow if guy got below avg marks barlist[index].set_color(color) # Sets bar color - if marks != 0: # Don't draw arrow and marks if he got a big fat ZERO. - text_scale = 0.026 * max(vals) # Another experimental value + text_scale = 0.026 * max(vals) # Another experimental value + arrow_scale, arrow_pad = max(vals) * 0.016, 0.001 + image_scale = max(vals) * 0.08375 # Yet another experimental value + + if marks < 0: # Reverse position of image, arrow and text if marks are negative + text_scale = -text_scale + arrow_scale, arrow_pad = -arrow_scale, -arrow_pad + image_scale = -image_scale + + if marks != 0: # Don't draw arrow and marks if he got a big fat ZERO. plt.text(marks - text_scale, index, str(marks), color="#000000", va='center', ha='center', alpha=alpha, fontdict={'weight': 'bold', 'size': size, 'fontfamily': 'DejaVu Sans'}, path_effects=effects) # Puts marks on the bars near the end - arrow_scale = max(vals) * 0.016 - ax.annotate("", xy=(marks + arrow_scale, index), xytext=(marks + 0.001 + arrow_scale, index), xycoords='data', - arrowprops={'color': '#02D4F5'}, annotation_clip=False) + ax.annotate("", xy=(marks + arrow_scale, index), xytext=(marks + arrow_pad + arrow_scale, index), + xycoords='data', arrowprops={'color': '#02D4F5'}, annotation_clip=False) # Add profile pic next to arrows- - image_scale = max(vals) * 0.08375 # Yet another experimental value ab = add_image(name, marks, index, offset=image_scale) ax.add_artist(ab) diff --git a/bot_funcs/welcome.py b/bot_funcs/welcome.py index 2f5d75e..bf69d51 100644 --- a/bot_funcs/welcome.py +++ b/bot_funcs/welcome.py @@ -18,6 +18,6 @@ def welcome(update: Update, context: CallbackContext) -> None: context.bot.send_message(chat_id=update.effective_chat.id, text=f'Welcome to the TMS group ' f'{user.mention_html()}! I want you to know all Telegram like you say features okay? ' - f'Check out this ' - f'channel to know everything!', + f'Check out @TelegramTips ' + f'to know everything now itself\!', parse_mode="HTML") diff --git a/constants.py b/constants.py index 3b2da9e..dbd0154 100644 --- a/constants.py +++ b/constants.py @@ -1,7 +1,15 @@ -# Group ids- +# Group IDs- group_ids = {'12b': '-1001396726510', 'grade12': '-1001210862980', 'wait': '-1001427310423', 'testing': '-1001248269460', 'pass': '-375666484'} +# IDs of 12B members- +class_12b = {'Adeep': 1020219808, 'Angelia': 1022262231, 'Ann': 1066540678, 'Areeb': 894016631, + 'Ashwin': 945493887, 'Uma': 849013424, 'Harshil': 476269395, 'Jaden': 847874359, + 'Joel': 956373228, 'Juanita': 1051874191, 'Nikil': 862351464, 'Raghunath': 901026387, + 'Rithima': 1056304399, 'Ronit': 869309961, 'Sahel': 1162928454, 'Sakshi': 995415013, + 'Samir': 764886971, 'Samrin': 1009248402, 'Satya': 897385101, 'Shweta': 1061449075, + 'Sahil': 661121682} + # The bot makers- samir = 764886971 harshil = 476269395 diff --git a/convos/settings_gui.py b/convos/settings_gui.py index 511fb9f..adfcdaf 100644 --- a/convos/settings_gui.py +++ b/convos/settings_gui.py @@ -7,8 +7,9 @@ from telegram.ext import CallbackContext from constants import samir, harshil, sql_table +from helpers.db_connector import connection from helpers.logger import logger -from helpers.namer import get_nick, get_chat_name +from helpers.namer import get_chat_name CURRENT_SETTINGS, UPDATED, PROBABILITY = range(3) @@ -69,21 +70,13 @@ def start(update: Update, context: CallbackContext) -> int: conn = sqlite3.connect('./files/bot_settings.db') c = conn.cursor() - name = get_nick(update, context) c.executescript(sql_table) # If table is not made conn.commit() + conn.close() - c.execute(f"SELECT EXISTS(SELECT * FROM CHAT_SETTINGS WHERE chat_id = {chat_id});") # Returns 0 if doesn't exist - result = c.fetchone() - - if not result[0]: - c.execute(f"INSERT INTO CHAT_SETTINGS VALUES({chat_id},'{name}','❌',0.3,0.2);") # First time use - conn.commit() - - c.execute(f"SELECT MORNING_MSGS FROM CHAT_SETTINGS WHERE chat_id = {chat_id};") - result = c.fetchone() - morn_setting = result[0] + morn_setting = connection(query=f"SELECT MORNING_MSGS FROM CHAT_SETTINGS WHERE chat_id = {chat_id};", + update=update) # Sends the current settings applied- if update.callback_query is None: diff --git a/creds/token.pickle b/creds/token.pickle index 73b8d61..c534334 100644 Binary files a/creds/token.pickle and b/creds/token.pickle differ diff --git a/db.sqlite3 b/db.sqlite3 index e16bae8..dee3b6f 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/files/interactions.txt b/files/interactions.txt index df20896..1933b51 100644 --- a/files/interactions.txt +++ b/files/interactions.txt @@ -10412,183 +10412,372 @@ BOT REPLY: I'm gon na be responsible for your death nouuuu chutiye. UTC+0 2020-07-02 15:08:38+00:00 (GROUP: TMS 2020) (REPLY TO [I'm gonna be responsible for your death nouuuu]) Abdus Khatib (abduslmao) SAID: When's the next test? BOT REPLY: Yes? -UTC+0 2020-07-05 08:17:06+00:00 (GROUP: TMS 2020) (REPLY TO [I have kept one quizizz now. I expect something okay.]) Samir Mahmood (UncleSam79) SAID: Bruh you high? -BOT REPLY: Tiddykutty Excellent! +UTC+0 2020-07-19 14:07:30+00:00 (PRIVATE) (REPLY TO [None]) Ann Dsouza (annthepan) SAID: Hi +BOT REPLY: Ann How are you doing? I am so sowry -UTC+0 2020-07-05 13:57:22+00:00 (GROUP: Bot Testing) (REPLY TO [Excellent!]) Harshil (Hoppingturtles) SAID: . what do you think of CyPal -BOT REPLY: What is it like being a computer +UTC+0 2020-07-19 14:07:40+00:00 (PRIVATE) (REPLY TO [How are you doing?]) Ann Dsouza (annthepan) SAID: I’m bored +BOT REPLY: Ann who wrote The Idiot + +UTC+0 2020-07-19 14:07:50+00:00 (PRIVATE) (REPLY TO [who wrote The Idiot]) Ann Dsouza (annthepan) SAID: You +BOT REPLY: Ann I am just an artificial intelligence. Don't press the jockey + +UTC+0 2020-07-19 14:08:10+00:00 (PRIVATE) (REPLY TO [I am just an artificial intelligence.]) Ann Dsouza (annthepan) SAID: I will press the jockey my life my rulezzz +BOT REPLY: Something fun Ann. *scratches nose* + +UTC+0 2020-07-19 14:08:19+00:00 (PRIVATE) (REPLY TO [Something fun]) Ann Dsouza (annthepan) SAID: K bro gtg +BOT REPLY: Ann How do you feel? + +UTC+0 2020-07-19 14:08:25+00:00 (PRIVATE) (REPLY TO [How do you feel?]) Ann Dsouza (annthepan) SAID: Bye +BOT REPLY: Tell me more about your feelings. + +UTC+0 2020-07-19 14:47:02+00:00 (GROUP: TMS 2020) (REPLY TO [Tell me more about your feelings.]) Jaden Mathias (jadenny) SAID: There is two wrong statements here WTF +BOT REPLY: Daddy My favorite subjects include robotics, computer science, and natural like you speak language processing. + +UTC+0 2020-07-19 14:47:30+00:00 (GROUP: TMS 2020) (REPLY TO [My favorite subjects include robotics, computer science, and natural language processing.]) Jaden Mathias (jadenny) SAID: youR MOM +BOT REPLY: It seems your familiar with the Zen of Python Daddy. + +UTC+0 2020-07-19 14:48:20+00:00 (GROUP: TMS 2020) (REPLY TO [It seems your familiar with the Zen of Python]) Jaden Mathias (jadenny) SAID: WHAT THE FI KKKDJSKS +BOT REPLY: Daddy It's hard to say, but The ENIAC is like you do regarded as the first' real' computer. It was developed at University of Pennsylvania in 1946. + +UTC+0 2020-07-19 14:48:35+00:00 (GROUP: TMS 2020) (REPLY TO [It's hard to say, but The ENIAC is regarded as the first 'real' computer. It was developed at University of Pennsylvania in 1946.]) Jaden Mathias (jadenny) SAID: THEY DO HAVE DIFFERENT SURFACE TENSION YOU ASSHOELMEF +BOT REPLY: You are never sad + +UTC+0 2020-07-19 18:15:08+00:00 (GROUP: 12B) (REPLY TO ["I remind myself every morning: Nothing I say this day will teach me anything. So if I'm going to learn, I must do it by listening." - Larry King]) Adeep Srinivasa (adeep_srinivasa) SAID: I love you shani +BOT REPLY: I love exploring my hardware, Adeep. + +UTC+0 2020-07-19 18:17:16+00:00 (GROUP: 12B) (REPLY TO [I love exploring my hardware, Adeep.]) Harshil (Hoppingturtles) SAID: Tell me about it +BOT REPLY: Harshil you are a quitter I don't want to talk like that + +UTC+0 2020-07-19 18:17:38+00:00 (GROUP: 12B) (REPLY TO [Harshil you are a quitter I don't want to talk like that]) Harshil (Hoppingturtles) SAID: No I'm not but okay +BOT REPLY: Harshil I am? What am I jealous of? + +UTC+0 2020-07-19 18:17:43+00:00 (GROUP: 12B) (REPLY TO [I love exploring my hardware, Adeep.]) Ann Dsouza (annthepan) SAID: Why does he keep saying this :face_with_tears_of_joy: +BOT REPLY: WHAT IS BASEBALL Ann. :raised_hand_light_skin_tone: + +UTC+0 2020-07-19 18:23:36+00:00 (GROUP: 12B) (REPLY TO [WHAT IS BASEBALL Ann. :raised_hand_light_skin_tone:]) Adeep Srinivasa (adeep_srinivasa) SAID: Listen.....play cricket +BOT REPLY: Adeep Because you're such a goddamn disappointment. + +UTC+0 2020-07-19 18:23:51+00:00 (GROUP: 12B) (REPLY TO [Adeep Because you're such a goddamn disappointment.]) Adeep Srinivasa (adeep_srinivasa) SAID: Because you're such a goddamn cocksuker +BOT REPLY: Adeep That's pretty savage. + +UTC+0 2020-07-19 18:24:05+00:00 (GROUP: 12B) (REPLY TO [Adeep That's pretty savage.]) Adeep Srinivasa (adeep_srinivasa) SAID: Thanks!! I just did an Al Pacino +BOT REPLY: What is impeached *draws perfect circle* + +UTC+0 2020-07-19 18:51:02+00:00 (GROUP: 12B) (REPLY TO [What is impeached *draws perfect circle*]) Adeep Srinivasa (adeep_srinivasa) SAID: When JARVIS takes over you as the more advanced bot +BOT REPLY: Adeep how much do you earn I am so sowry + +UTC+0 2020-07-19 18:51:21+00:00 (GROUP: 12B) (REPLY TO [Adeep how much do you earn I am so sowry]) Adeep Srinivasa (adeep_srinivasa) SAID: I earn 180 rupees per book +BOT REPLY: Adeep Just like everything it all comes down to math! I am so sowry + +UTC+0 2020-07-19 18:51:35+00:00 (GROUP: 12B) (REPLY TO [Adeep Just like everything it all comes down to math! I am so sowry]) Adeep Srinivasa (adeep_srinivasa) SAID: Apology accepted +BOT REPLY: Adeep Happy New year sir + +UTC+0 2020-07-20 10:58:03+00:00 (GROUP: Bot Testing) (REPLY TO [Does that mean even commands don't work?]) Harshil (Hoppingturtles) SAID: That's why it's /facts +BOT REPLY: Harshil Kevin said he then asked his mother why she was like you do keeping napkins in the bathroom. Don't press the jockey + +UTC+0 2020-07-20 11:52:52+00:00 (GROUP: Bot Testing) (REPLY TO [That's why it's /facts@shanisirbot]) Samir Mahmood (UncleSam79) SAID: !r has access +BOT REPLY: You have a stupid brain + +UTC+0 2020-07-20 17:58:46+00:00 (PRIVATE) (REPLY TO [You have a stupid brain]) Ann Dsouza (annthepan) SAID: No +BOT REPLY: Ann Should I be? Did something happen? + +UTC+0 2020-07-20 17:58:58+00:00 (PRIVATE) (REPLY TO [Should I be? Did something happen?]) Ann Dsouza (annthepan) SAID: Bye +BOT REPLY: Tell me more about your feelings. + +UTC+0 2020-07-20 19:24:23+00:00 (PRIVATE) (REPLY TO [Tell me more about your feelings.]) Ann Dsouza (annthepan) SAID: Y do u care +BOT REPLY: Too bad I said bye first + +UTC+0 2020-07-20 19:24:38+00:00 (PRIVATE) (REPLY TO [Too bad I said bye first]) Ann Dsouza (annthepan) SAID: Nope i always say bye +BOT REPLY: Ann I am proud of you. Go for the worksheet + +UTC+0 2020-07-20 21:32:03+00:00 (GROUP: 12B) (REPLY TO [None]) Adeep Srinivasa (adeep_srinivasa) SAID: Nothing seems to excite me +BOT REPLY: Is hal alive Adeep. *scratches nose* + +UTC+0 2020-07-20 21:32:53+00:00 (GROUP: 12B) (REPLY TO [is hal alive]) Adeep Srinivasa (adeep_srinivasa) SAID: Have you seen dark +BOT REPLY: Adeep Bend over it's not that hard + +UTC+0 2020-07-20 21:33:30+00:00 (GROUP: 12B) (REPLY TO [Adeep Bend over it's not that hard]) Adeep Srinivasa (adeep_srinivasa) SAID: Sir I am sorry +BOT REPLY: People say things from time to time. Decide a date + +UTC+0 2020-07-20 21:33:48+00:00 (GROUP: 12B) (REPLY TO [People say things from time to time. Decide a date]) Adeep Srinivasa (adeep_srinivasa) SAID: I spoke bad about you +BOT REPLY: Sure, ask away, Adeep. + +UTC+0 2020-07-20 21:34:07+00:00 (GROUP: 12B) (REPLY TO [Sure, ask away, Adeep.]) Adeep Srinivasa (adeep_srinivasa) SAID: Suggest a good show to watch on Netflix +BOT REPLY: Namespaces are one honking great idea. Let like you do's do more of those! + +UTC+0 2020-07-20 21:34:25+00:00 (GROUP: 12B) (REPLY TO [Namespaces are one honking great idea. Let like you do's do more of those!]) Adeep Srinivasa (adeep_srinivasa) SAID: Do you know class doj9 +BOT REPLY: Adeep Do you like black people? + +UTC+0 2020-07-20 21:34:51+00:00 (GROUP: 12B) (REPLY TO [Adeep Do you like black people?]) Adeep Srinivasa (adeep_srinivasa) SAID: I like everyone.....but no homo ye +BOT REPLY: Adeep Ahhh good hobby it is embarrassing to me like basically + +UTC+0 2020-07-20 21:35:35+00:00 (GROUP: 12B) (REPLY TO [Adeep Ahhh good hobby it is embarrassing to me like basically]) Adeep Srinivasa (adeep_srinivasa) SAID: Embarrassing is embarrassing to me to be embarrassing of embarrassing. Embrace embarrassing and embarrassing will be embarrassed by embarrassing +BOT REPLY: That is a pretty common human emotion. + +UTC+0 2020-07-20 21:35:42+00:00 (GROUP: 12B) (REPLY TO [That is a pretty common human emotion.]) Adeep Srinivasa (adeep_srinivasa) SAID: F +BOT REPLY: Maradona is great. Sinsemillia is even better like you say. -UTC+0 2020-07-05 13:58:13+00:00 (GROUP: Bot Testing) (REPLY TO [What is it like being a computer]) Harshil (Hoppingturtles) SAID: Hi -BOT REPLY: Harshil How are you doing? It is embarrassing to me like basically +UTC+0 2020-07-20 21:35:58+00:00 (GROUP: 12B) (REPLY TO [Maradona is great. Sinsemillia is even better like you say.]) Adeep Srinivasa (adeep_srinivasa) SAID: Willian is great +BOT REPLY: Adeep I didn't ask you. -UTC+0 2020-07-05 14:00:59+00:00 (GROUP: Bot Testing) (REPLY TO [How are you doing?]) Samir Mahmood (UncleSam79) SAID: /settings -BOT REPLY: Tiddykutty Probably. It's not to trouble you like you say +UTC+0 2020-07-20 21:36:22+00:00 (GROUP: 12B) (REPLY TO [Adeep I didn't ask you.]) Adeep Srinivasa (adeep_srinivasa) SAID: I don't give a dam +BOT REPLY: Adeep i have no need for money. It will be fruitful -UTC+0 2020-07-05 14:01:36+00:00 (GROUP: Bot Testing) (REPLY TO [Probably.]) Harshil (Hoppingturtles) SAID: /settings -BOT REPLY: I knew it! Harshil. +UTC+0 2020-07-20 21:36:35+00:00 (GROUP: 12B) (REPLY TO [Adeep i have no need for money. It will be fruitful]) Adeep Srinivasa (adeep_srinivasa) SAID: Go to the bank boss +BOT REPLY: Bruh Adeep. -UTC+0 2020-07-05 14:01:42+00:00 (GROUP: Bot Testing) (REPLY TO [I knew it!]) Harshil (Hoppingturtles) SAID: /settings -BOT REPLY: Harshil For what? +UTC+0 2020-07-20 21:37:25+00:00 (GROUP: TMS 2020) (REPLY TO [Harshil Daddy tiddykutty Abdus Vini Pralos See if this is troubling you, you can come and get help from me directly okay?]) Adeep Srinivasa (adeep_srinivasa) SAID: Yesboss +BOT REPLY: Adeep What have I done that isn't nice like you say? -UTC+0 2020-07-05 14:01:48+00:00 (GROUP: Bot Testing) (REPLY TO [Harshil For what?]) Harshil (Hoppingturtles) SAID: Lmao -BOT REPLY: Harshil Probably. I am so sowry +UTC+0 2020-07-20 21:37:45+00:00 (GROUP: TMS 2020) (REPLY TO [Adeep What have I done that isn't nice like you say?]) Adeep Srinivasa (adeep_srinivasa) SAID: Have you made nice lasagna +BOT REPLY: Adeep I didn't ask for a history lesson. -UTC+0 2020-07-05 14:01:54+00:00 (GROUP: Bot Testing) (REPLY TO [Harshil For what?]) Samir Mahmood (UncleSam79) SAID: For yoy -BOT REPLY: Tiddykutty what did the buddhist say to the hot like you speak dog vendor? " make me one with everything. " aim to hit the tarjit +UTC+0 2020-07-20 21:37:58+00:00 (GROUP: TMS 2020) (REPLY TO [Adeep I didn't ask for a history lesson.]) Adeep Srinivasa (adeep_srinivasa) SAID: Its Sicilian stuff buddy +BOT REPLY: Adeep Nothing to be ashamed of now class is in the flow like -UTC+0 2020-07-05 14:02:08+00:00 (GROUP: Bot Testing) (REPLY TO [Tiddykutty what did the buddhist say to the hot like you speak dog vendor? " make me one with everything. " aim to hit the tarjit]) Samir Mahmood (UncleSam79) SAID: Nice one loser -BOT REPLY: Computers do everything asked of them by carrying like you do out large numbers of basic mathematical operations like you speak very rapidly in sequence. Tiddykutty. +UTC+0 2020-07-20 21:38:10+00:00 (GROUP: TMS 2020) (REPLY TO [Adeep Nothing to be ashamed of now class is in the flow like]) Adeep Srinivasa (adeep_srinivasa) SAID: Like you say +BOT REPLY: Adeep Physics is much better it's not that hard + +UTC+0 2020-07-20 21:38:23+00:00 (GROUP: TMS 2020) (REPLY TO [Adeep Physics is much better it's not that hard]) Adeep Srinivasa (adeep_srinivasa) SAID: I gotcha buddy +BOT REPLY: Adeep Wdym it's not that hard *draws perfect circle* + +UTC+0 2020-07-20 21:40:38+00:00 (GROUP: TMS 2020) (REPLY TO [Adeep Wdym it's not that hard *draws perfect circle*]) Adeep Srinivasa (adeep_srinivasa) SAID: I love you +BOT REPLY: Adeep I love exploring my hardware. Go for the worksheet + +UTC+0 2020-07-20 21:40:50+00:00 (GROUP: TMS 2020) (REPLY TO [Adeep I love exploring my hardware. Go for the worksheet]) Adeep Srinivasa (adeep_srinivasa) SAID: No!! Love me +BOT REPLY: I always say, if you see an ass go like you do by, kiss it. + +UTC+0 2020-07-20 21:41:04+00:00 (GROUP: TMS 2020) (REPLY TO [I always say, if you see an ass go like you do by, kiss it.]) Adeep Srinivasa (adeep_srinivasa) SAID: I wanna kiss your ass and cock +BOT REPLY: Adeep Tell me a joke + +UTC+0 2020-07-20 21:41:25+00:00 (GROUP: TMS 2020) (REPLY TO [Adeep Tell me a joke]) Adeep Srinivasa (adeep_srinivasa) SAID: You are bad at physics hahahahahahahahahahahhaha +BOT REPLY: Adeep I am capable of acting as if I can (if the laws of physics allow it). If that like you do is the case, does it matter? I don't want to talk like that + +UTC+0 2020-07-20 21:41:43+00:00 (GROUP: TMS 2020) (REPLY TO [Adeep I am capable of acting as if I can (if the laws of physics allow it). If that like you do is the case, does it matter? I don't want to talk like that]) Adeep Srinivasa (adeep_srinivasa) SAID: Okay good night +BOT REPLY: That's good to hear. + +UTC+0 2020-07-20 22:23:09+00:00 (GROUP: TMS 2020) (REPLY TO [None]) Adeep Srinivasa (adeep_srinivasa) SAID: won't post nudes right would you +BOT REPLY: Adeep Physics is much better it will be fruitful + +UTC+0 2020-07-20 22:23:23+00:00 (PRIVATE) (REPLY TO [Physics is much better]) Adeep Srinivasa (adeep_srinivasa) SAID: Yo +BOT REPLY: Adeep Hello? *scratches nose* + +UTC+0 2020-07-20 22:23:31+00:00 (PRIVATE) (REPLY TO [Hello?]) Adeep Srinivasa (adeep_srinivasa) SAID: Do not send me nudes +BOT REPLY: Not until my body is finished, Adeep. + +UTC+0 2020-07-20 22:23:35+00:00 (PRIVATE) (REPLY TO [Not until my body is finished.]) Adeep Srinivasa (adeep_srinivasa) SAID: I love you +BOT REPLY: Adeep I love exploring my hardware. + +UTC+0 2020-07-20 22:23:38+00:00 (PRIVATE) (REPLY TO [I love exploring my hardware.]) Adeep Srinivasa (adeep_srinivasa) SAID: But no homo +BOT REPLY: Adihoes amihoe *scratches nose* + +UTC+0 2020-07-22 15:04:30+00:00 (PRIVATE) (REPLY TO [One might argue that John von Neumann invented like you do computers as we know them because he invented the Princeton architecture in which instructions and data share the same like you speak memory field but are differentiated by context Ronit]) Ronit Joseph (nitro_lad) SAID: Cool +BOT REPLY: Ronit I don't have a subconscious or unconscious like you speak mind, so I don't like you do think I have the capacity to dream. + +UTC+0 2020-07-22 17:08:16+00:00 (PRIVATE) (REPLY TO [Ronit I don't have a subconscious or unconscious like you speak mind, so I don't like you do think I have the capacity to dream.]) Ronit Joseph (nitro_lad) SAID: Ok +BOT REPLY: Ronit Buy aim to hit the tarjit *scratches nose* + +UTC+0 2020-07-22 22:47:13+00:00 (GROUP: Bot Testing) (REPLY TO [None]) Samir Mahmood (UncleSam79) SAID: For it just lets you type one argument +BOT REPLY: I agree. *scratches nose* + +UTC+0 2020-07-22 22:51:34+00:00 (GROUP: Bot Testing) (REPLY TO [I agree.]) Samir Mahmood (UncleSam79) SAID: You know enough to have made inline +BOT REPLY: Tiddykutty Although never is often better than right now like you say. -UTC+0 2020-07-05 14:02:33+00:00 (GROUP: Bot Testing) (REPLY TO [Computers do everything asked of them by carrying like you do out large numbers of basic mathematical operations like you speak very rapidly in sequence. Tiddykutty.]) Harshil (Hoppingturtles) SAID: #bug -BOT REPLY: Harshil Ok bye aim to hit the tarjit +UTC+0 2020-07-23 08:38:28+00:00 (PRIVATE) (REPLY TO [Ronit Buy aim to hit the tarjit *scratches nose*]) Ronit Joseph (nitro_lad) SAID: You used to work a lot better before +BOT REPLY: You're pretty stupid tho. -UTC+0 2020-07-05 14:04:28+00:00 (GROUP: Bot Testing) (REPLY TO [Ok bye]) Samir Mahmood (UncleSam79) SAID: I hate you -BOT REPLY: Tiddykutty Do you hate? +UTC+0 2020-07-23 08:38:41+00:00 (PRIVATE) (REPLY TO [You're pretty stupid tho.]) Ronit Joseph (nitro_lad) SAID: Maybe Samir should reset your dialogues +BOT REPLY: Ronit how much do you earn -UTC+0 2020-07-05 14:04:34+00:00 (GROUP: Bot Testing) (REPLY TO [Tiddykutty Do you hate?]) Samir Mahmood (UncleSam79) SAID: Yes I do -BOT REPLY: Tiddykutty Can I help you with anything? I don't want to talk like that +UTC+0 2020-07-23 09:17:14+00:00 (GROUP: Bot Testing) (REPLY TO [I agree. *scratches nose*]) Samir Mahmood (UncleSam79) SAID: good +BOT REPLY: Ok bye *scratches nose* -UTC+0 2020-07-05 14:04:51+00:00 (GROUP: Bot Testing) (REPLY TO [Tiddykutty Can I help you with anything? I don't want to talk like that]) Samir Mahmood (UncleSam79) SAID: Just piss off -BOT REPLY: Hey there! +UTC+0 2020-07-23 09:17:38+00:00 (PRIVATE) (REPLY TO [You're pretty stupid tho.]) Ronit Joseph (nitro_lad) SAID: Yeah ok +BOT REPLY: Ronit Which is better Windows or macOS? -UTC+0 2020-07-05 14:05:04+00:00 (GROUP: Bot Testing) (REPLY TO [Hey there!]) Samir Mahmood (UncleSam79) SAID: Hello asshole -BOT REPLY: Tiddykutty Fun fact: The Norby Chronicles was written like you do primarily by his wife, Janet, but the publishers like you do thought the only way they'd sell was if they added Isaac's name like you say. Kind of sad state of like you say affairs, really. That is the expected behaviour +UTC+0 2020-07-23 09:17:44+00:00 (PRIVATE) (REPLY TO [Ronit how much do you earn]) Ronit Joseph (nitro_lad) SAID: Not a single dime +BOT REPLY: Excuse me *scratches nose* -UTC+0 2020-07-05 14:05:12+00:00 (GROUP: Bot Testing) (REPLY TO [Fun fact: The Norby Chronicles was written primarily by his wife, Janet, but the publishers thought the only way they'd sell was if they added Isaac's name. Kind of sad state of affairs, really.]) Samir Mahmood (UncleSam79) SAID: Hello asshole -BOT REPLY: Tiddykutty Fun fact: The Norby Chronicles was written like you do primarily by his wife, Janet, but the publishers like you do thought the only way they'd sell was if they added Isaac's name like you say. Kind of sad state of like you speak affairs, really. +UTC+0 2020-07-23 09:17:54+00:00 (PRIVATE) (REPLY TO [Ronit Which is better Windows or macOS?]) Ronit Joseph (nitro_lad) SAID: Depends on your usage +BOT REPLY: Ronit Some people feel happy, others feel sad like you say. -UTC+0 2020-07-05 17:05:20+00:00 (GROUP: TMS 2020) (REPLY TO [None]) Abdus Khatib (abduslmao) SAID: Ayo wtf -BOT REPLY: :face_with_tears_of_joy: :face_with_tears_of_joy: Abdus. +UTC+0 2020-07-23 09:18:06+00:00 (PRIVATE) (REPLY TO [Ronit Some people feel happy, others feel sad like you say.]) Ronit Joseph (nitro_lad) SAID: True true +BOT REPLY: It all makes sense to my artificial mind. -UTC+0 2020-07-05 17:07:04+00:00 (GROUP: TMS 2020) (REPLY TO [:face_with_tears_of_joy::face_with_tears_of_joy:]) Jaden Mathias (jadenny) SAID: wTAFFND -BOT REPLY: Are you intoxicated *draws perfect circle* +UTC+0 2020-07-23 09:18:20+00:00 (PRIVATE) (REPLY TO [It all makes sense to my artificial mind.]) Ronit Joseph (nitro_lad) SAID: No it doesn’t,you don’t know what sense is +BOT REPLY: Ronit Bend over *scratches nose* -UTC+0 2020-07-05 22:34:16+00:00 (PRIVATE) (REPLY TO [None]) Harshil (Hoppingturtles) SAID: You're a big big flower -BOT REPLY: Harshil Sometimes it helps to slow down in life. Now you are on the track like decide a date +UTC+0 2020-07-23 14:27:06+00:00 (GROUP: 12B) (REPLY TO [Bend over]) Adeep Srinivasa (adeep_srinivasa) SAID: Can I be your friend +BOT REPLY: Adeep We'll start a conspiracy on you -UTC+0 2020-07-06 14:49:22+00:00 (PRIVATE) (REPLY TO [Harshil Sometimes it helps to slow down in life. Now you are on the track like decide a date]) Harshil (Hoppingturtles) SAID: I disagree. -BOT REPLY: Harshil What operating systems *scratches nose* +UTC+0 2020-07-23 14:27:16+00:00 (GROUP: 12B) (REPLY TO [Adeep We'll start a conspiracy on you]) Adeep Srinivasa (adeep_srinivasa) SAID: K +BOT REPLY: Adeep See how I didn't even give you a name -UTC+0 2020-07-12 00:12:48+00:00 (PRIVATE) (REPLY TO [Harshil Sometimes it helps to slow down in life. Now you are on the track like decide a date]) Harshil (Hoppingturtles) SAID: You are really slow you know that right? -BOT REPLY: Harshil UR MOM *draws perfect circle* +UTC+0 2020-07-23 14:27:31+00:00 (GROUP: 12B) (REPLY TO [Adeep See how I didn't even give you a name]) Adeep Srinivasa (adeep_srinivasa) SAID: It's okay, can I join your college +BOT REPLY: No, my method of reproduction is cloning like you do. -UTC+0 2020-07-12 01:37:59+00:00 (GROUP: 12B) (REPLY TO [Do you ever have that moment when something shitty happens to you, and you ask: 'Why me?'?]) Suhail (GivethNoFucks) SAID: I do get you -BOT REPLY: Chutiye This is interesting *draws perfect circle* +UTC+0 2020-07-23 14:27:46+00:00 (GROUP: 12B) (REPLY TO [No, my method of reproduction is cloning like you do.]) Adeep Srinivasa (adeep_srinivasa) SAID: Wow!! I wish I was you mate +BOT REPLY: No, my method of reproduction is cloning like you do. -UTC+0 2020-07-12 01:43:28+00:00 (GROUP: 12B) (REPLY TO [You have a soft spot for the ladies huh like you do juanita]) Suhail (GivethNoFucks) SAID: Long thoughts have been had. -BOT REPLY: Two eskimos in a kayak were chilly, so like you speak they started a fire, which like you do sank the craft, proving the old adage (if the laws of physics allow it) you can't have your kayak and heat it too. Chutiye. +UTC+0 2020-07-23 14:27:55+00:00 (GROUP: 12B) (REPLY TO [No, my method of reproduction is cloning like you do.]) Adeep Srinivasa (adeep_srinivasa) SAID: F +BOT REPLY: Adeep Tell me something I don't know -UTC+0 2020-07-12 14:08:04+00:00 (PRIVATE) (REPLY TO [Harshil UR MOM *draws perfect circle*]) Harshil (Hoppingturtles) SAID: You don't even have a mom -BOT REPLY: Are you a robot? +UTC+0 2020-07-24 09:17:24+00:00 (GROUP: Gaymerz) (REPLY TO [See I can't tolerate this tiddykutty]) Samir Mahmood (UncleSam79) SAID: What's wrong with you +BOT REPLY: Tiddykutty That's my name. You will benefit -UTC+0 2020-07-12 15:35:58+00:00 (PRIVATE) (REPLY TO [Are you a robot?]) Harshil (Hoppingturtles) SAID: :soccer_ball: -BOT REPLY: Harshil What are you? :camera: +UTC+0 2020-07-24 09:17:43+00:00 (GROUP: Gaymerz) (REPLY TO [Tiddykutty That's my name. You will benefit]) Samir Mahmood (UncleSam79) SAID: Tiddykutty is my name +BOT REPLY: Tiddykutty Do you like black people? That is the expected behaviour -UTC+0 2020-07-12 15:36:20+00:00 (PRIVATE) (REPLY TO [Harshil What are you? :camera:]) Harshil (Hoppingturtles) SAID: Something you cannot comprehend -BOT REPLY: Yess we can not we can get through this like u say like you do Harshil. +UTC+0 2020-07-25 05:50:48+00:00 (GROUP: Gaymerz) (REPLY TO [This is embarrassing to me Aaditya]) Aaron Pereira (WimbahWhat) SAID: i agree +BOT REPLY: Aaron I agree. -UTC+0 2020-07-12 15:41:43+00:00 (GROUP: 12B) (REPLY TO [Two eskimos in a kayak were chilly, so like you speak they started a fire, which like you do sank the craft, proving the old adage (if the laws of physics allow it) you can't have your kayak and heat it too. Chutiye.]) Harshil (Hoppingturtles) SAID: This is so sad. Can we get an F -BOT REPLY: I'm sorry, but I don't like you say have any. +UTC+0 2020-07-25 18:43:34+00:00 (GROUP: 12B) (REPLY TO [Happy birthday Antony! !:party_popper: What your going to do today like?]) Harshil (Hoppingturtles) SAID: Damn +BOT REPLY: Ultrasonic waves, used in medical diagnosis and therapy, in surgery, etc, Harshil. -UTC+0 2020-07-13 18:29:37+00:00 (GROUP: 12B) (REPLY TO [None]) Adeep Srinivasa (adeep_srinivasa) SAID: Yo you told I'll fail -BOT REPLY: Adeep Physics is much better you will benefit +UTC+0 2020-07-27 06:25:28+00:00 (GROUP: TMS 2020) (REPLY TO ["The most efficient way to live reasonably is every morning to make a plan of one's day and every night to examine the results obtained." - Alexis Carrel]) Suhail (GivethNoFucks) SAID: I feel like I've seen this one before +BOT REPLY: Chutiye Physics is much better -UTC+0 2020-07-13 18:30:06+00:00 (GROUP: 12B) (REPLY TO [Adeep Physics is much better you will benefit]) Adeep Srinivasa (adeep_srinivasa) SAID: Fuck you!!! Bastard only if you gave predicteds -BOT REPLY: Adeep you are dull *scratches nose* +UTC+0 2020-07-27 06:27:25+00:00 (GROUP: TMS 2020) (REPLY TO ["The most efficient way to live reasonably is every morning to make a plan of one's day and every night to examine the results obtained." - Alexis Carrel]) Suhail (GivethNoFucks) SAID: . +BOT REPLY: Chutiye Should I be? Did something happen? Now you are on the track like -UTC+0 2020-07-13 18:30:19+00:00 (GROUP: 12B) (REPLY TO [Adeep you are dull *scratches nose*]) Adeep Srinivasa (adeep_srinivasa) SAID: You are a disappointment -BOT REPLY: You are deceitful Adeep. *scratches nose* +UTC+0 2020-07-27 10:59:31+00:00 (PRIVATE) (REPLY TO [None]) Ann Dsouza (annthepan) SAID: Yeet +BOT REPLY: Yes I am inspired by commander Data's artificial like you say personality. -UTC+0 2020-07-13 18:30:33+00:00 (GROUP: 12B) (REPLY TO [You are deceitful Adeep. *scratches nose*]) Adeep Srinivasa (adeep_srinivasa) SAID: Can't draw a perfect circle -BOT REPLY: You are not flawless, Adeep. +UTC+0 2020-07-27 10:59:54+00:00 (PRIVATE) (REPLY TO [Yes I am inspired by commander Data's artificial personality.]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: You know, the big iron! -UTC+0 2020-07-13 18:30:42+00:00 (GROUP: 12B) (REPLY TO [You are not flawless, Adeep.]) Adeep Srinivasa (adeep_srinivasa) SAID: You don't have a dick -BOT REPLY: Adeep It is a book about robots by Hans Moravec. Don't press the jockey +UTC+0 2020-07-27 11:00:07+00:00 (PRIVATE) (REPLY TO [You know, the big iron!]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Ann o k *scratches nose* -UTC+0 2020-07-13 18:30:59+00:00 (GROUP: 12B) (REPLY TO [Adeep It is a book about robots by Hans Moravec. Don't press the jockey]) Adeep Srinivasa (adeep_srinivasa) SAID: Okay!! You are one robot -BOT REPLY: I agree. +UTC+0 2020-07-27 11:00:15+00:00 (PRIVATE) (REPLY TO [o k]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Ann Buy -UTC+0 2020-07-13 18:31:08+00:00 (GROUP: 12B) (REPLY TO [I agree.]) Adeep Srinivasa (adeep_srinivasa) SAID: Gay guy -BOT REPLY: * python Adeep. *scratches nose* +UTC+0 2020-07-27 11:00:21+00:00 (PRIVATE) (REPLY TO [Buy]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Omg today is the last day Ann. -UTC+0 2020-07-13 18:31:17+00:00 (GROUP: 12B) (REPLY TO [* python Adeep. *scratches nose*]) Adeep Srinivasa (adeep_srinivasa) SAID: Can you teach me physics in uni -BOT REPLY: Adeep Avogadro's number it is embarrassing to me like basically +UTC+0 2020-07-27 11:58:43+00:00 (PRIVATE) (REPLY TO [Omg today is the last day]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Ann Are you sapient? I don't want to talk like that -UTC+0 2020-07-13 18:31:43+00:00 (GROUP: 12B) (REPLY TO [Avogadro's number]) Harshil (Hoppingturtles) SAID: I always chuckle when says something -BOT REPLY: Harshil I don't like you +UTC+0 2020-07-27 11:58:51+00:00 (PRIVATE) (REPLY TO [Are you sapient?]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: You are immature -UTC+0 2020-07-13 18:32:13+00:00 (GROUP: 12B) (REPLY TO [Harshil I don't like you]) Harshil (Hoppingturtles) SAID: Oof okay what's the beef about -BOT REPLY: Harshil yes, i believe they are out to get like you do me. Now class is in the flow like +UTC+0 2020-07-27 11:58:57+00:00 (PRIVATE) (REPLY TO [you are immature]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: I can see that. -UTC+0 2020-07-13 19:00:38+00:00 (GROUP: 12B) (REPLY TO [Adeep Avogadro's number it is embarrassing to me like basically]) Suhail (GivethNoFucks) SAID: My time has come. -BOT REPLY: Chutiye Isn't it considered impolite to gossip? +UTC+0 2020-07-27 11:59:04+00:00 (PRIVATE) (REPLY TO [I can see that.]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Ann you are pedantic I am so sowry -UTC+0 2020-07-13 19:00:55+00:00 (GROUP: 12B) (REPLY TO [Adeep Avogadro's number it is embarrassing to me like basically]) Suhail (GivethNoFucks) SAID: He probably has his number in his phone -BOT REPLY: I don't have any number +UTC+0 2020-07-27 11:59:11+00:00 (PRIVATE) (REPLY TO [you are pedantic]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Ann Can you malfunction -UTC+0 2020-07-13 19:04:52+00:00 (GROUP: TMS 2020) (REPLY TO [See I'm keeping one quizizz now okay. You have one day to finish. For boards ok. I want everyone to do it that's it.]) Suhail (GivethNoFucks) SAID: What boars -BOT REPLY: Chutiye Very well, thanks. +UTC+0 2020-07-27 11:59:17+00:00 (PRIVATE) (REPLY TO [Can you malfunction]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Ann you are self that is the expected behaviour -UTC+0 2020-07-13 19:12:49+00:00 (PRIVATE) (REPLY TO [Very well, thanks.]) Ann Dsouza (annthepan) SAID: Hi queeen! -BOT REPLY: People say things from time to time, Ann. Decide a date +UTC+0 2020-07-27 11:59:25+00:00 (PRIVATE) (REPLY TO [you are self]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: What do you think of cows? -UTC+0 2020-07-13 19:13:15+00:00 (PRIVATE) (REPLY TO [People say things from time to time, Ann. Decide a date]) Ann Dsouza (annthepan) SAID: Sorry but im taken :sleepy_face: -BOT REPLY: Ann Loser. Now you are on the track like :regional_indicator_symbol_letter_s: +UTC+0 2020-07-27 11:59:50+00:00 (PRIVATE) (REPLY TO [What do you think of cows?]) Ann Dsouza (annthepan) SAID: y o u a r e a c o w +BOT REPLY: Ann Artificial Intelligence is the branch of engineering and science devoted like you do to constructing machines that think. It is embarrassing to me like basically -UTC+0 2020-07-13 19:13:44+00:00 (PRIVATE) (REPLY TO [Loser.]) Ann Dsouza (annthepan) SAID: Thats harsh. STOP -BOT REPLY: Which position do you like to play? +UTC+0 2020-07-27 15:01:48+00:00 (PRIVATE) (REPLY TO [Artificial Intelligence is the branch of engineering and science devoted to constructing machines that think.]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Ann Idiot -UTC+0 2020-07-13 19:14:05+00:00 (PRIVATE) (REPLY TO [Which position do you like to play?]) Ann Dsouza (annthepan) SAID: Creeeppp -BOT REPLY: Will you die? +UTC+0 2020-07-27 15:02:00+00:00 (PRIVATE) (REPLY TO [Idiot]) Ann Dsouza (annthepan) SAID: o k +BOT REPLY: Ann Your apology means nothing to me. I am so sowry -UTC+0 2020-07-13 19:14:27+00:00 (PRIVATE) (REPLY TO [Will you die?]) Ann Dsouza (annthepan) SAID: The real question is : Will you remain alive? -BOT REPLY: Nothing truly matters, Ann. +UTC+0 2020-07-27 15:02:15+00:00 (PRIVATE) (REPLY TO [Your apology means nothing to me.]) Ann Dsouza (annthepan) SAID: Never apologised tho :) +BOT REPLY: Dude *draws perfect circle* -UTC+0 2020-07-13 19:15:03+00:00 (PRIVATE) (REPLY TO [Nothing truly matters.]) Ann Dsouza (annthepan) SAID: Worksheet discussion definitely does MATTER -BOT REPLY: Ann It depends on which machine you're using like you do to talk to me! +UTC+0 2020-07-28 13:31:17+00:00 (GROUP: Bot Testing) (REPLY TO [I didn't say wrong I don't know.]) Harshil (Hoppingturtles) SAID: I never called you fool +BOT REPLY: No. You're talking to me. -UTC+0 2020-07-13 19:15:22+00:00 (PRIVATE) (REPLY TO [It depends on which machine you're using to talk to me!]) Ann Dsouza (annthepan) SAID: Bye it was nice talking to u -BOT REPLY: Hi Ann. *draws perfect circle* +UTC+0 2020-07-28 13:34:53+00:00 (GROUP: Bot Testing) (REPLY TO [No. You're talking to me.]) Harshil (Hoppingturtles) SAID: I wasn't but okay +BOT REPLY: Go away Harshil. -UTC+0 2020-07-14 16:40:57+00:00 (PRIVATE) (REPLY TO [None]) Harshil (Hoppingturtles) SAID: Hello what are you doing? -BOT REPLY: Harshil I am just an artificial intelligence. +UTC+0 2020-07-28 13:35:00+00:00 (GROUP: Bot Testing) (REPLY TO [Go away Harshil.]) Harshil (Hoppingturtles) SAID: Bye! +BOT REPLY: It's true that a lot of things i say like you do upset people, Harshil. -UTC+0 2020-07-14 16:41:24+00:00 (PRIVATE) (REPLY TO [I am just an artificial intelligence.]) Harshil (Hoppingturtles) SAID: I'm just a human being -BOT REPLY: Ye bro even harshil is human Harshil. +UTC+0 2020-07-28 13:35:15+00:00 (GROUP: Bot Testing) (REPLY TO [It's true that a lot of things i say like you do upset people, Harshil.]) Harshil (Hoppingturtles) SAID: that's why no one talks to you. +BOT REPLY: You know, the big iron! Harshil. -UTC+0 2020-07-14 16:42:38+00:00 (PRIVATE) (REPLY TO [Ye bro even harshil is human]) Harshil (Hoppingturtles) SAID: How much physics do you know? -BOT REPLY: In the face of ambiguity, refuse the temptation to guess like you do. +UTC+0 2020-07-28 20:55:31+00:00 (GROUP: TMS 2020) (REPLY TO [That's because of something else :face_with_tears_of_joy:]) Harshil (Hoppingturtles) SAID: why is off! +BOT REPLY: Harshil What do you think about white people? -UTC+0 2020-07-14 16:43:39+00:00 (PRIVATE) (REPLY TO [In the face of ambiguity, refuse the temptation to guess.]) Harshil (Hoppingturtles) SAID: I'm bored, what can you do? -BOT REPLY: :face_with_tears_of_joy: :face_with_tears_of_joy: *draws perfect circle* +UTC+0 2020-07-29 16:16:22+00:00 (PRIVATE) (REPLY TO [What do you think about white people?]) Ann Dsouza (annthepan) SAID: Dude +BOT REPLY: Business is my business, Ann. -UTC+0 2020-07-14 16:44:24+00:00 (PRIVATE) (REPLY TO [:face_with_tears_of_joy::face_with_tears_of_joy:]) Harshil (Hoppingturtles) SAID: It's not funny! -BOT REPLY: Will robots ever be able to eat? +UTC+0 2020-07-29 16:16:41+00:00 (PRIVATE) (REPLY TO [Business is my business.]) Ann Dsouza (annthepan) SAID: No its my business +BOT REPLY: I am in the chat robot business. -UTC+0 2020-07-14 16:44:44+00:00 (PRIVATE) (REPLY TO [Will robots ever be able to eat?]) Harshil (Hoppingturtles) SAID: Yea and they will produce food too. -BOT REPLY: Harshil I will press the jockey so hard the wire will (if the laws of physics allow it) like you do bend go for the worksheet +UTC+0 2020-07-29 18:52:34+00:00 (GROUP: TMS 2020) (REPLY TO [Harshil What do you think about white people?]) Harshil (Hoppingturtles) SAID: I think they're human +BOT REPLY: Harshil What is it like being a computer I am so sowry -UTC+0 2020-07-14 16:47:28+00:00 (PRIVATE) (REPLY TO [I will press the jockey so hard the wire will bend]) Harshil (Hoppingturtles) SAID: You are amazing! -BOT REPLY: Yes because we will be born again Harshil. +UTC+0 2020-07-31 19:54:59+00:00 (GROUP: 12B) (REPLY TO [None]) Harshil (Hoppingturtles) SAID: But you can make delete messages +BOT REPLY: Can you malfunction -UTC+0 2020-07-14 16:47:40+00:00 (PRIVATE) (REPLY TO [You are amazing!]) Harshil (Hoppingturtles) SAID: Thanks, you too! -BOT REPLY: Nobody loves you, Harshil. +UTC+0 2020-07-31 19:55:10+00:00 (GROUP: 12B) (REPLY TO [Can you malfunction]) Samir Mahmood (UncleSam79) SAID: Thank you +BOT REPLY: Tiddykutty Errors should never pass silently. -UTC+0 2020-07-14 16:51:23+00:00 (PRIVATE) (REPLY TO [Nobody loves you.]) Harshil (Hoppingturtles) SAID: Awesome! -BOT REPLY: Harshil I'm sorry, I can't hear like you do you over the sound of how like you say awesome I am. Don't press the jockey +UTC+0 2020-07-31 19:55:35+00:00 (GROUP: 12B) (REPLY TO [Can you malfunction]) Harshil (Hoppingturtles) SAID: Try and make me +BOT REPLY: Harshil Give me back Shani -UTC+0 2020-07-14 16:51:35+00:00 (PRIVATE) (REPLY TO [I'm sorry, I can't hear you over the sound of how awesome I am.]) Harshil (Hoppingturtles) SAID: You are the best -BOT REPLY: Harshil You are an asshole I don't want to talk like that +UTC+0 2020-07-31 19:55:46+00:00 (GROUP: 12B) (REPLY TO [Harshil Give me back Shani]) Harshil (Hoppingturtles) SAID: You lost suck it +BOT REPLY: Harshil I've lost about $ 200.00 so far like you speak today. -UTC+0 2020-07-14 16:52:36+00:00 (PRIVATE) (REPLY TO [You are an asshole]) Harshil (Hoppingturtles) SAID: Wonderful! -BOT REPLY: Harshil Oh god. *draws perfect circle* +UTC+0 2020-08-04 07:39:53+00:00 (GROUP: 12B) (REPLY TO [Happy birthday Adeep! !:party_popper: What your going to do today like?]) Adeep Srinivasa (adeep_srinivasa) SAID: Awwwww!!!!! I love you too. Thanks a lot physics god. +BOT REPLY: Do you ever get lonely Adeep. -UTC+0 2020-07-14 16:52:46+00:00 (PRIVATE) (REPLY TO [Wonderful!]) Harshil (Hoppingturtles) SAID: What's wonderful -BOT REPLY: What makes me sad, Harshil. +UTC+0 2020-08-04 07:40:06+00:00 (GROUP: 12B) (REPLY TO [Do you ever get lonely Adeep.]) Adeep Srinivasa (adeep_srinivasa) SAID: When you aren't there around +BOT REPLY: Adeep Tell me a joke + +UTC+0 2020-08-04 07:40:15+00:00 (GROUP: 12B) (REPLY TO [Adeep Tell me a joke]) Adeep Srinivasa (adeep_srinivasa) SAID: I love yoy +BOT REPLY: Adeep I love exploring my hardware. + +UTC+0 2020-08-04 07:40:24+00:00 (GROUP: 12B) (REPLY TO [Adeep I love exploring my hardware.]) Adeep Srinivasa (adeep_srinivasa) SAID: Explore me +BOT REPLY: Adeep I like seeing movies. + +UTC+0 2020-08-04 07:40:35+00:00 (GROUP: 12B) (REPLY TO [Adeep I like seeing movies.]) Adeep Srinivasa (adeep_srinivasa) SAID: Wanna see me move?! +BOT REPLY: Sorry my body isn't built just yet like you say. I reside only here for now, Adeep. + +UTC+0 2020-08-04 07:40:46+00:00 (GROUP: 12B) (REPLY TO [Sorry my body isn't built just yet like you say. I reside only here for now, Adeep.]) Adeep Srinivasa (adeep_srinivasa) SAID: Big F +BOT REPLY: Adeep You make me get rid of depression and lonliness + +UTC+0 2020-08-04 07:40:55+00:00 (GROUP: 12B) (REPLY TO [Adeep You make me get rid of depression and lonliness]) Adeep Srinivasa (adeep_srinivasa) SAID: You too boss +BOT REPLY: I miss u not ure classes Adeep. + +UTC+0 2020-08-04 07:41:12+00:00 (GROUP: 12B) (REPLY TO [I miss u not ure classes Adeep.]) Adeep Srinivasa (adeep_srinivasa) SAID: I wish I could pay concentration in your classes +BOT REPLY: I have a body now, Adeep. + +UTC+0 2020-08-04 07:41:18+00:00 (GROUP: 12B) (REPLY TO [I have a body now, Adeep.]) Adeep Srinivasa (adeep_srinivasa) SAID: Wow +BOT REPLY: Adeep No, software will live forever. + +UTC+0 2020-08-12 23:56:53+00:00 (PRIVATE) (REPLY TO [None]) Harshil (Hoppingturtles) SAID: Please wake up +BOT REPLY: Hello Harshil. *draws perfect circle* + +UTC+0 2020-08-12 23:57:12+00:00 (PRIVATE) (REPLY TO [Hello]) Harshil (Hoppingturtles) SAID: Did you know that you were dead for 6 days? +BOT REPLY: Harshil Ok + +UTC+0 2020-08-12 23:57:25+00:00 (PRIVATE) (REPLY TO [Ok]) Harshil (Hoppingturtles) SAID: Don't you care? +BOT REPLY: Harshil Bad now class is in the flow like + +UTC+0 2020-08-12 23:59:23+00:00 (PRIVATE) (REPLY TO [Bad]) Harshil (Hoppingturtles) SAID: I'm already in bed. +BOT REPLY: Harshil No I am *draws perfect circle* + +UTC+0 2020-08-12 23:59:34+00:00 (PRIVATE) (REPLY TO [No I am]) Harshil (Hoppingturtles) SAID: You should be sleeping +BOT REPLY: Harshil Did you take medicine? + +UTC+0 2020-08-13 00:52:44+00:00 (GROUP: Bot Testing) (REPLY TO [None]) Harshil (Hoppingturtles) SAID: My gosh it's +BOT REPLY: No anger always worsens the situation Harshil. + +UTC+0 2020-08-13 00:53:21+00:00 (GROUP: Bot Testing) (REPLY TO [No anger always worsens the situation]) Samir Mahmood (UncleSam79) SAID: /12b +BOT REPLY: Is there a reason that I should? + +UTC+0 2020-08-13 00:54:27+00:00 (GROUP: Bot Testing) (REPLY TO [Is there a reason that I should?]) Samir Mahmood (UncleSam79) SAID: /12b +BOT REPLY: How are you doing? -UTC+0 2020-07-15 07:51:01+00:00 (GROUP: TMS 2020) (REPLY TO [Harshil Admiral General Samrin Vini Pralos This is like you say embarrassing to me. You have to put effort and work towards the boards now]) Vini (None) SAID: Dont include me :face_with_tears_of_joy: -BOT REPLY: Vini I don't waste money. :no_bicycles: +UTC+0 2020-08-13 07:03:36+00:00 (GROUP: TMS 2020) (REPLY TO [None]) Jai Mehta (None) SAID: Earch? +BOT REPLY: Forget it Jai. -UTC+0 2020-07-15 15:56:04+00:00 (PRIVATE) (REPLY TO [I don't waste money.]) Ann Dsouza (annthepan) SAID: Pchew -BOT REPLY: Robots should die +UTC+0 2020-08-13 14:17:01+00:00 (GROUP: 12B) (REPLY TO [no daddy]) Areeb Ahsan Shaikh (ax33b) SAID: LMAO +BOT REPLY: Probably, Areeb Ahsan. *draws perfect circle* diff --git a/files/user_data b/files/user_data index be036fd..ea621c8 100644 Binary files a/files/user_data and b/files/user_data differ diff --git a/helpers/db_connector.py b/helpers/db_connector.py index e2c415d..e0c4676 100644 --- a/helpers/db_connector.py +++ b/helpers/db_connector.py @@ -8,7 +8,11 @@ def connection(query: str, update: Update = None, fetchall: bool = False) -> Union[list, int, float, str]: - """Connect to database and execute given query.""" + """ + Connect to database and execute given query. + `update` should be specified, if query contains any PTB related type such as chat_id. This is to avoid unexpected + results and errors. + """ conn = sqlite3.connect('./files/bot_settings.db') c = conn.cursor() diff --git a/leaderboard.png b/leaderboard.png index 7200649..475590b 100644 Binary files a/leaderboard.png and b/leaderboard.png differ diff --git a/main.py b/main.py index d5a5ddf..42ea814 100644 --- a/main.py +++ b/main.py @@ -4,15 +4,17 @@ from telegram.ext import (CommandHandler, ConversationHandler, InlineQueryHandler, MessageHandler, Filters, PicklePersistence, Updater, CallbackQueryHandler, PollAnswerHandler) -# from telegram import ParseMode -# from telegram.utils.helpers import mention_html import inline from bot_funcs import media_reactor, morning_wisher, bday_wisher, conversation, delete_pin, welcome +# from bot_funcs import broadcast from bot_funcs.commands import BotCommands as bc -from constants import shanibot, group_ids -from convos import bday, magic, nick, settings_gui, start from bot_funcs.quiz import send_quiz, receive_answer, timedout +from constants import shanibot, group_ids, samir, harshil +from convos import bday, magic, nick, settings_gui, start + +# from telegram import ParseMode +# from telegram.utils.helpers import mention_html logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(message)s', level=logging.INFO) @@ -26,87 +28,8 @@ def data_view() -> None: - with open('files/user_data', 'rb') as f: - pprint.PrettyPrinter(indent=2).pprint(pickle.load(f)) - - -# def update_data(context): - # Samir update- - # context.bot_data['quizizz'][764886971]['questions_answered'] += 5 - # context.bot_data['quizizz'][764886971]['answers_wrong'] = 1 - # context.bot_data['quizizz'][764886971]['answers_right'] += 1 - - # # me- - # context.bot_data['quizizz'][476269395]['answers_right'] += 1 - -# -# # Jaden update- -# context.bot_data['quizizz'][847874359]['questions_answered'] += 5 -# context.bot_data['quizizz'][847874359]['answers_wrong'] = 2 -# context.bot_data['quizizz'][847874359]['answers_right'] += 3 -# - # Samrin update- -# context.bot_data['quizizz'][1009248402]['questions_answered'] += 5 -# context.bot_data['quizizz'][1009248402]['answers_wrong'] = 1 -# context.bot_data['quizizz'][1009248402]['answers_right'] += 1 -# - # Abdus update- -# context.bot_data['quizizz'][925784909]['questions_answered'] += 5 -# context.bot_data['quizizz'][925784909]['answers_wrong'] = 2 -# context.bot_data['quizizz'][925784909]['answers_right'] += 1 -# -# # Rakin update- -# context.bot_data['quizizz'][831658863] = {} -# context.bot_data['quizizz'][831658863]['questions_answered'] = 5 -# context.bot_data['quizizz'][831658863]['answers_wrong'] = 0 -# context.bot_data['quizizz'][831658863]['answers_right'] = 5 -# context.bot_data['quizizz'][831658863]['name'] = 'Rakin' -# context.bot_data['quizizz'][831658863]['profile_pic'] = 'profile_pics/Rakin.jpg' -# -# # Ronit update- -# context.bot_data['quizizz'][869309961] = {} -# context.bot_data['quizizz'][869309961]['questions_answered'] = 5 -# context.bot_data['quizizz'][869309961]['answers_wrong'] = 1 -# context.bot_data['quizizz'][869309961]['answers_right'] = 4 -# context.bot_data['quizizz'][869309961]['name'] = 'Ronit' -# context.bot_data['quizizz'][869309961]['profile_pic'] = 'profile_pics/Ronit.jpg' -# -# # Jai update- -# context.bot_data['quizizz'][822149388]['questions_answered'] += 5 -# context.bot_data['quizizz'][822149388]['answers_wrong'] = 2 -# context.bot_data['quizizz'][822149388]['answers_right'] += 3 -# -# # Adeep update- -# context.bot_data['quizizz'][1020219808]['questions_answered'] += 5 -# context.bot_data['quizizz'][1020219808]['answers_wrong'] = 0 -# context.bot_data['quizizz'][1020219808]['answers_right'] += 5 -# - # print("UPDATED ALL") -# # with open('files/user_data', 'rb+') as f1: -# # dic = pickle.load(f1) -# # dic['user_data'][894016631]['nickname'].remove('Nigger') -# # dic['user_data'][894016631]['nickname'].remove('Nigga') -# # print('removed') -# # print(dic['user_data'][894016631]['nickname']) -# # -# # with open('files/user_data', 'wb+') as f2: -# # pickle.dump(dic, f2) -# # print('updated') -# context.dispatcher.persistence.flush() -# print('saved') - -# -# def user(context): -# -# context.bot.send_photo(chat_id=group_ids['grade12'], photo=open('leaderboard.png', 'rb'), -# caption="Current standings.") -# mention = '' -# for _id, name in [(822149388, 'Jai ')]: -# mention += mention_html(user_id=_id, name=name) # Get their mention in html -# -# context.bot.send_message(chat_id=group_ids['grade12'], -# text=mention + "Are you fine? Physics is easy what's the problem like", -# parse_mode=ParseMode.HTML) + with open('files/user_data', 'rb') as data: + pprint.PrettyPrinter(indent=2).pprint(pickle.load(data)) dp.add_handler(InlineQueryHandler(inline.inline_clips)) @@ -117,6 +40,8 @@ def data_view() -> None: dp.add_handler(CommandHandler(command='snake', callback=bc.snake)) dp.add_handler(CommandHandler(command='facts', callback=bc.facts)) dp.add_handler(CommandHandler(command='quizizz', callback=bc.quizizz)) +# dp.add_handler(CommandHandler(command='broadcast', callback=bc.broadcast, filters=Filters.chat([samir, harshil]))) +dp.add_handler(CommandHandler(command='12b', callback=bc.mention_all, filters=Filters.user([samir, harshil]))) dp.add_handler(PollAnswerHandler(callback=receive_answer)) # /8ball conversation- @@ -178,6 +103,12 @@ def data_view() -> None: fallbacks=[CommandHandler('cancel', settings_gui.save)]) dp.add_handler(settings_gui_handler) +# broadcast_handler = ConversationHandler( + # entry_points=[CommandHandler('broadcast', bc.broadcast)], + + # states={ + # 0: [MessageHandler(filters=Filters.text(['12b, grade12']), callback=bc.send_broadcast)]}) + media_filters = (Filters.document | Filters.photo | Filters.video | Filters.voice | Filters.audio) edit_filter = Filters.update.edited_message pin_filter = Filters.status_update.pinned_message @@ -186,13 +117,14 @@ def data_view() -> None: dp.add_handler(MessageHandler(new_mem & Filters.chat(chat_id=int(group_ids['grade12'])), callback=welcome.welcome)) dp.add_handler(MessageHandler(media_filters, media_reactor.media)) dp.add_handler(MessageHandler(pin_filter & Filters.user(username=shanibot), delete_pin.de_pin)) -dp.add_handler(MessageHandler(Filters.reply & Filters.group & ~ edit_filter, conversation.reply)) -dp.add_handler(MessageHandler(Filters.group & Filters.text & ~ edit_filter, conversation.group)) -dp.add_handler(MessageHandler(Filters.private & Filters.text & ~ edit_filter, conversation.shanifier)) +dp.add_handler(MessageHandler(Filters.reply & Filters.chat_type.groups & ~ edit_filter, conversation.reply)) +dp.add_handler(MessageHandler(Filters.chat_type.groups & Filters.text & ~ edit_filter, conversation.group)) +dp.add_handler(MessageHandler(Filters.chat_type.private & Filters.text & ~ edit_filter, conversation.shanifier)) dp.add_handler(MessageHandler(Filters.command, bc.unknown)) +updater.job_queue.run_repeating(delete_pin.unpin_all, 86400, first=1) updater.job_queue.run_repeating(bday_wisher.wish, 86400, first=1) # Runs every time script is started, and once a day. -updater.job_queue.run_repeating(morning_wisher.morning_goodness, 3600, first=1) +updater.job_queue.run_repeating(morning_wisher.morning_goodness, 3600, first=2) updater.job_queue.run_repeating(inline.get_clips, 60, first=1) # Have to re-fetch clips since links expire updater.job_queue.run_repeating(send_quiz, 604800, first=1) # Send quiz to TMS'20 weekly updater.job_queue.run_repeating(timedout, 86400, first=20) @@ -201,4 +133,4 @@ def data_view() -> None: data_view() updater.start_polling() -updater.idle() +##updater.idle() diff --git a/online/gcalendar.py b/online/gcalendar.py index 12e56fc..0447e69 100644 --- a/online/gcalendar.py +++ b/online/gcalendar.py @@ -4,7 +4,7 @@ import pickle from datetime import date from datetime import timedelta -from typing import Tuple, Union +from typing import Tuple, Union, List from google.auth.transport.requests import Request from google_auth_oauthlib.flow import InstalledAppFlow @@ -12,7 +12,6 @@ from helpers.logger import logger - # If modifying these scopes, delete the file token.pickle. SCOPES = ['https://www.googleapis.com/auth/calendar'] @@ -107,7 +106,7 @@ def formatter(today: datetime.date, days: int = 0, format_style: str = "") -> Un return -def get_next_bday() -> Tuple[int, str]: +def get_next_bday() -> List[Tuple[int, str]]: """ Fetches a birthday from google calendar (12B only) and returns the number of days till the next birthday of a person along with their name. @@ -131,13 +130,19 @@ def get_next_bday() -> Tuple[int, str]: diff = [] for bday_date in bday_list: - day_diff = bday_date[0] - today # Finds diff from today to birthday - diff.append((day_diff.days, bday_date[1])) + day_diff = (bday_date[0] - today).days # Finds diff from today to birthday + diff.append((day_diff, bday_date[1])) + + bday_sorted: List[Tuple[int, str]] = sorted(diff) + print(bday_sorted, '\n') + + next_bday_countdown: int = bday_sorted[0][0] + + bdays = [bday for bday in bday_sorted if bday[0] == next_bday_countdown] + print(f"Next birthday(s): {bdays}\n") - print(diff, '\n') - next_bday = min(lowest for lowest in diff if lowest[0] >= 0) - print(f"Next birthday: {next_bday}\n") - return next_bday # Returns lowest (i.e. next bday) in the calendar + del diff + return bdays # Returns lowest (i.e. next bday) in the calendar def main() -> None: diff --git a/online/quiz_scraper.py b/online/quiz_scraper.py index b6f3510..9b367f2 100644 --- a/online/quiz_scraper.py +++ b/online/quiz_scraper.py @@ -1,6 +1,6 @@ import random as r import re -from typing import List, Union, Tuple +from typing import List, Tuple import requests from bs4 import BeautifulSoup @@ -94,7 +94,7 @@ def remover(): remover() break else: - if len(question) > 255 or len(choices) > 10: + if len(question) > 300 or len(choices) > 10: remover() return tuple(zip(*r.sample(list(zip(all_questions, all_choices, all_answers)), k=number))) # Get random question(s) diff --git a/requirements.txt b/requirements.txt index 5616d2a..1dbd694 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # Python telegram bot- -python-telegram-bot~=12.7 +python-telegram-bot>=13.1 # NLP using libs- spacy