async def on_reaction_remove(reaction, user): server = client.get_server(data.get_server_id()) member = server.get_member(user.id) owner = reaction.message.author.id if owner != bot_id or user.id == bot_id: return if reaction.emoji == "🥇": role = discord.utils.find(lambda r: r.name == "Veterano", server.roles) elif reaction.emoji == "🥈": role = discord.utils.find(lambda r: r.name == "Calouro B", server.roles) elif reaction.emoji == "🥉": role = discord.utils.find(lambda r: r.name == "Calouro Burro", server.roles) elif reaction.emoji == "🎓": role = discord.utils.find(lambda r: r.name == "UnB", server.roles) elif reaction.emoji == "🤷": role = discord.utils.find(lambda r: r.name == "Disney", server.roles) else: return await client.remove_roles(member, role)
def rebuild_dhcp_config(): config = data.get_config() ips = data.get_ipaddress_allocated_all() ipranges = data.get_all_iprange() create_log("Rebuilding DHCPD configuration to unassign IP.", 1) with open(config['dhcp_configuration'], "w") as config: config.write("option domain-name-servers 8.8.8.8, 8.8.4.4;\n\n") for range in ipranges: line = "subnet %s netmask %s {\n range %s %s;\n option routers %s;\n}\n" % (str(range['subnet']), str(range['netmask']), str(range['startip']), str(range['endip']), str(range['gateway'])) config.write(line) for ip in ips: vm = data.get_server_id(ip['server_id']) config.write("host vm%s {\n hardware ethernet %s;\n fixed-address %s;\n}\n" % (str(vm[0]['_id']), str(vm[0]['mac_address']), str(ip['ip']))) config.close() restart_dhcpd()
def resize_disk(vmid, size): try: server = data.get_server_id(vmid) data.set_server_blocked(vmid, 1) resize_event_id = resize_event(str(server[0]['_id'])) make_temp_disk(size) log1 = "Created temporary disk temp.img of size %sGB" % str(size) create_log(log1, 1) if int(server[0]['disk_size']) < int(size): log2 = "Starting resize process for vm%s to size %sGB" % ( str(server[0]['_id']), str(size)) create_log(log2, 1) try: do_resize(server, 1) except Exception as e: log3 = "Resize process failed for vm%s: %s" % ( str(server[0]['_id']), str(e.args)) create_log(log3, 3) log4 = "Resize process for vm%s completed." % ( str(server[0]['_id'])) create_log(log4, 1) else: log5 = "Couldn't resize vm%s, chosen size is smaller than current size." % str( server[0]['_id']) create_log(log5, 3) return 0 do_rename(server) data.set_server_disksize(vmid, size) data.set_event_status(resize_event_id, 1) data.set_server_blocked(vmid, 0) data.set_event_complete(resize_event_id, str(datetime.datetime.now())) return 1 except Exception as e: log6 = "Resize process failed for vm%s: %s" % ( str(server[0]['_id']), str(e.args)) create_log(log6, 3) data.set_server_blocked(vmid, 0) data.set_event_status(resize_event_id, 99) data.set_event_complete(resize_event_id, str(datetime.datetime.now()))
def resize_disk(vmid, size): try: server = data.get_server_id(vmid) data.set_server_blocked(vmid, 1) resize_event_id = resize_event(str(server[0]['_id'])) make_temp_disk(size) log1 = "Created temporary disk temp.img of size %sGB" % str(size) create_log(log1, 1) if int(server[0]['disk_size']) < int(size): log2 = "Starting resize process for vm%s to size %sGB" % (str( server[0]['_id']), str(size)) create_log(log2, 1) try: do_resize(server, 1) except Exception as e: log3 = "Resize process failed for vm%s: %s" % (str( server[0]['_id']), str(e.args)) create_log(log3, 3) log4 = "Resize process for vm%s completed." % (str( server[0]['_id'])) create_log(log4, 1) else: log5 = "Couldn't resize vm%s, chosen size is smaller than current size." % str( server[0]['_id']) create_log(log5, 3) return 0 do_rename(server) data.set_server_disksize(vmid, size) data.set_event_status(resize_event_id, 1) data.set_server_blocked(vmid, 0) data.set_event_complete(resize_event_id, str(datetime.datetime.now())) return 1 except Exception as e: log6 = "Resize process failed for vm%s: %s" % (str( server[0]['_id']), str(e.args)) create_log(log6, 3) data.set_server_blocked(vmid, 0) data.set_event_status(resize_event_id, 99) data.set_event_complete(resize_event_id, str(datetime.datetime.now()))
async def on_reaction_add(reaction, user): server = client.get_server(data.get_server_id()) member = server.get_member(user.id) bot_member = server.get_member(bot_id) owner = reaction.message.author.id message = reaction.message if owner != bot_id or user.id == bot_id: return if reaction.emoji == "💻": await client.delete_message(message) private_computer_science_message = discord.Embed( title= "Seja muito bem vindo novamente ao server da UnB dos Brothers\n\n- Dê uma olhada no canal de texto #boas-vindas\n\n- Nos ajude a te identificar, em qual semestre você está ? (Sem mentir, não prejudique o servidor)", color=COR, description="\n- 3 º Semestre ou mais = 🥇\n" "- 2 º Semestre = 🥈 \n" "- 1 º Semestre = 🥉 \n" "- Voltar = ⬅", ) botmsg = await client.send_message( member, embed=private_computer_science_message) await client.add_reaction(botmsg, "🥇") await client.add_reaction(botmsg, "🥈") await client.add_reaction(botmsg, "🥉") await client.add_reaction(botmsg, "⬅") return elif reaction.emoji == "🥇": role = discord.utils.find(lambda r: r.name == "Veterano", server.roles) elif reaction.emoji == "🥈": role = discord.utils.find(lambda r: r.name == "Calouro B", server.roles) elif reaction.emoji == "🥉": role = discord.utils.find(lambda r: r.name == "Calouro Burro", server.roles) elif reaction.emoji == "⬅": await client.delete_message(message) await direct_welcome_message(member) return elif reaction.emoji == "🎓": role = discord.utils.find(lambda r: r.name == "UnB", server.roles) elif reaction.emoji == "🤷": role = discord.utils.find(lambda r: r.name == "Disney", server.roles) else: return await client.add_roles(member, role)