Skip to content
Snippets Groups Projects
Commit bbd9847f authored by josborg's avatar josborg
Browse files

Creación y comprobacion de Rol para link

parent 80370713
No related branches found
No related tags found
No related merge requests found
<div class="container">
<div class="row">
<div class="row mt-5">
<h1>Opciones de adminstrador</h1>
<div class="col">
<div class="row mt-5">
<label for="">Añadir Bot a un servidor de discord: </label>
<div>
<button class="btn btn-primary ml-3" (click)="addBot()">Añadir</button>
</div>
</div>
</div>
<div class="col">
......
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ClienteApiOrdersService } from '../shared/api-encuestas/cliente-api-encuestas.service';
import { ClienteApiOAutchService } from '../shared/api-oauth/cliente-api-auth.service';
@Component({
selector: 'app-admin',
......@@ -7,9 +10,16 @@ import { Component, OnInit } from '@angular/core';
})
export class AdminComponent implements OnInit {
constructor() { }
constructor(private ruta: ActivatedRoute, private router: Router,
private clienteApiRest: ClienteApiOAutchService,private clienteApiRestEnc: ClienteApiOrdersService) { }
ngOnInit(): void {
}
addBot() {
this.clienteApiRest.addBot();
}
}
package com.uva.discordbot.listener;
import java.util.List;
import javax.print.DocFlavor.STRING;
import com.google.gson.Gson;
import com.uva.discordbot.model.Link;
......@@ -11,6 +15,7 @@ import discord4j.core.object.entity.channel.GuildChannel;
import discord4j.core.GatewayDiscordClient;*/
import discord4j.core.object.entity.Message;
import discord4j.core.object.entity.Role;
import reactor.core.publisher.Mono;
public abstract class MessageListener {
......@@ -36,7 +41,7 @@ public abstract class MessageListener {
.then();
}
//&& user.getTag().equals("TAG")
if(content.length == 2 && content[0].equalsIgnoreCase("!link")){
if(content.length == 2 && content[0].equalsIgnoreCase("!link") && isRol(eventMessage, "Profesor")){
//String obj = new RestTemplate().getForObject("http://localhost:8080/users?email=", String.class);
Link link = new Link(eventMessage.getGuild().block().getId().asLong(),content[1]);
......@@ -46,6 +51,8 @@ public abstract class MessageListener {
String resultAsJsonStr = new RestTemplate().postForObject("http://api-poll:8082/api/encuestas/link",
link, String.class);
System.out.println("getHighestRole: " + eventMessage.getAuthorAsMember().block().getHighestRole().block().toString());
System.out.println(resultAsJsonStr);
return Mono.just(eventMessage)
......@@ -57,4 +64,17 @@ public abstract class MessageListener {
}
return Mono.empty();
}
private boolean isRol(Message eventMessage, String str){
List<Role> roles = eventMessage.getAuthorAsMember().block().getRoles().collectList().block();
boolean isRol = false;
for (Role role : roles) {
System.out.println("Role: "+role.getName());
if(role.getName().equalsIgnoreCase(str)){
isRol=true;
break;
}
}
return isRol;
}
}
\ No newline at end of file
......@@ -2,9 +2,14 @@ package com.uva.discordbot.listener;
import discord4j.core.object.entity.Guild;
import discord4j.core.object.entity.Member;
import discord4j.core.object.entity.Role;
import discord4j.core.spec.RoleCreateSpec;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;
import com.uva.discordbot.util.Global;
......@@ -16,6 +21,7 @@ public abstract class ReadyEventListener {
public Mono<Void> processCommand(ReadyEvent client) {
for (Guild guild : client.getClient().getGuilds().collectList().block()) {
uploadRole(guild, "Alumno");
for (Member member : guild.getMembers().collectList().block()) {
if(!Global.guilds.containsKey(member.getId().asString())){
ArrayList<String> guilds = new ArrayList<String>();
......@@ -37,6 +43,22 @@ public abstract class ReadyEventListener {
}
}
return Mono.empty();
}
private void uploadRole(Guild guild, String str){
List<Role> roles = guild.getRoles().collectList().block();
boolean aux = false;
for (Role role : roles) {
if(role.getName().equalsIgnoreCase(str)){
aux = true;
break;
}
}
if(!aux){
Consumer<RoleCreateSpec> spec = a -> a.setName(str);
guild.createRole(spec).subscribe();
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment