def save_message(message): if message: is_bot = False if message['sender_type'] != 'user': is_bot = True query = "INSERT INTO messages(message, groupme_group_id, sender_is_bot) VALUES (%s, %s, %s);" values = (str(json.dumps(message)), str(message['group_id']), is_bot) db.execute_table_action(query, values) else: logging.warn("Attempted save on null message")
def create_group(group_id, bot_id): #does not set the bot_id for the group - manuually set this in order to post messages query = """INSERT INTO groupme_yahoo (groupme_group_id, message_num, message_limit, num_past_transactions, status, messaging_status, bot_id, members) VALUES (%s,%s,%s,%s,%s,%s,%s,%s);""" members = groupme.get_group_membership(group_id, groupme_access_token) values = (str(group_id), 0, 1, 0, 1, 1, str(bot_id), utilities.dict_to_json(members)) db.execute_table_action(query, values)
def delete_messages(groupme_group_id, retain=10): messages = load_messages(groupme_group_id) if len(messages) > retain: index_list = [] #logging.warn(messages[0]) for message in messages: index_list.append(message['index']) index_list.sort() val = len(index_list) - retain query = "DELETE FROM messages WHERE i IN %s" values = tuple(index_list[0:val]) #logging.warn("values: %s" % (values,)) db.execute_table_action(query, (values, ))
def toggle_group_messaging_status(group_data, val=''): s = '' if val == '': s = 0 if not group_data['messaging_status']: s = 1 else: if val == 0 or val == 1: s = val if s != '': query = 'UPDATE groupme_yahoo SET messaging_status= ' + str( s) + ' WHERE groupme_group_id=' + str( group_data['groupme_group_id']) + ';' db.execute_table_action(query) logging.warn("Updating messaging_status for group %s to %s" % (group_data['groupme_group_id'], str(s))) return
def update_and_post_group_membership(group_data, league_data): string = 'None' if group_data['members']: # groupme_bot = GroupMe_Bot.GroupMe_Bot() # data = GroupMe_Bot.get_league_data() teams = league_data['teams']['fantasy_content']['league'][1]['teams'] team_data = fantasy.get_team_data(teams) for k, v in group_data['members'].items(): logging.warn("K, V from client data: %s %s %s" % (k, v, json.dumps(team_data))) if team_data.get(v['team_id']): if group_data['members'][k]['team_data'][ 'name'] is not team_data[v['team_id']]['name']: string += group_data['members'][k][ 'name'] + 'changes team name to ' + team_data[ v['team_id']]['name'] + "\n" group_data['members'][k]['team_data'] = team_data[v['team_id']] query = "UPDATE groupme_yahoo SET members=" + utilities.dict_to_json( group_data['members']) + "WHERE session=1;" db.execute_table_action(query) return string
def update_trigger_status(trigger): query = """UPDATE triggers SET status=%s WHERE i=%s""" values = (trigger['status'], trigger['index']) db.execute_table_action(query, values)
def delete_trigger(index): query = """DELETE FROM triggers WHERE index=%s""" values = (index, ) db.execute_table_action(query, values)
def add_trigger(group, trigger): query = """INSERT INTO triggers (type,days,periods,status,group_id) VALUES (%s, %s, %s, %s, %s);""" values = (trigger['type'], trigger['days'], trigger['periods'], trigger['status'], str(group)) db.execute_table_action(query, values)
def set_new_transaction_total(new_trans_num, group_data): query = "UPDATE groupme_yahoo SET num_past_transactions = " + str( new_trans_num) + " WHERE index = " + str(group_data['index']) + ";" logging.warn("Setting new transaction figure %s" % str(new_trans_num)) db.execute_table_action(query)
def save_league_data(group_data, league_data): data = json.dumps(league_data) data.strip("'") query = "UPDATE groupme_yahoo SET league_data = %s WHERE index = %s;" values = (data, str(group_data['groupme_group_id'])) db.execute_table_action(query, values)
def reset_message_data(group): lim = random.randint(7, 22) query = "UPDATE groupme_yahoo SET message_num = 0, message_limit = %s WHERE index = %s;" values = (str(lim), str(group)) db.execute_table_action(query, values)
def increment_message_num(group): query = "UPDATE groupme_yahoo SET message_num = message_num + 1 WHERE index = %s;" values = (str(group), ) db.execute_table_action(query, values)