我注意到我的机器人没有设置RichPresence,就像我今天看它一样。我最后一次检查它是在星期三,代码也在那里工作。所以我今天再次执行它,并且RichPresence没有像往常一样重新设置。现在我认为不和谐会改变它的界面。
现在,我在我的项目中使用了最新的JDA版本,并对代码进行了修改,使数据对象成为JSONObject,但它仍然无法工作。作为第二个,我试图使我的“Spielst”对象成为RichPresence对象。不幸的是,这也不起作用。
旧类:
public class Spielst implements Activity {
private String name;
private String url;
private ActivityType type;
public static Spielst getSpielt(String name, String url, ActivityType typ){
return new Spielst(name,url,typ);
}
protected Spielst(String name, String url, ActivityType typ) {
this.name = name;
this.url = url;
this.type = typ;
}
@Override
public boolean isRich() {
return false;
}
@Override
public RichPresence asRichPresence() {
return null;
}
@Override
public String getName() {
return name;
}
@Override
public String getUrl() {
return url;
}
@Override
public ActivityType getType() {
return type;
}
@Nullable
@Override
public Timestamps getTimestamps() {
return null;
}
public void setPresence(OnlineStatus status, String state, String details, String application_id,
String large_image, String small_image, String large_text, String small_text,
long timestamp, long since){
if(Bot.getInstance().getBot() == null)
return;
PresenceImpl presence = new PresenceImpl((JDAImpl) Bot.getInstance().getBot()).setCacheActivity(this)
.setCacheStatus(status);
JSONObject data = presence.getFullPresence();
JSONObject game = data.getJSONObject("game");
game.put("state",state);
game.put("details", details);
game.put("application_id", application_id);
JSONObject assets = new JSONObject();
game.put("timestamps",new JSONObject().put("start",timestamp));
assets.put("large_image", large_image);
assets.put("small_image", small_image);
assets.put("large_text", large_text);
assets.put("small_text", small_text);
game.put("assets",assets);
game.put("since",since);
data.put("game",game);
((JDAImpl) Bot.getInstance().getBot())
.getClient().send((new JSONObject()).put("d", data).put("op", 3).toString());
System.out.println((new JSONObject()).put("d", data).put("op", 3).toString());
}
}
新类别:
package de.letsplaybar.discordbot.main.utils;
import de.letsplaybar.discordbot.main.Bot;
import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.ActivityFlag;
import net.dv8tion.jda.api.entities.RichPresence;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.EnumSet;
/**
* @author Letsplaybar
* Created on 05.09.2017.
*/
public class Spielst implements RichPresence {
private String name;
private String url;
private ActivityType type;
private OnlineStatus status;
private String state;
private String details;
private String application_id;
private String large_image;
private String small_image;
private String large_text;
private String small_text;
private long timestamp;
private long since;
public static Spielst getSpielt(String name, String url, ActivityType typ,OnlineStatus status, String state, String details, String application_id,
String large_image, String small_image, String large_text, String small_text,
long timestamp, long since){
return new Spielst(name,url,typ,status,state,details,application_id,large_image,small_image,large_text,small_text,timestamp, since);
}
protected Spielst(String name, String url, ActivityType typ,OnlineStatus status, String state, String details, String application_id,
String large_image, String small_image, String large_text, String small_text,
long timestamp, long since) {
this.name = name;
this.url = url;
this.type = typ;
}
@Override
public boolean isRich() {
return false;
}
@Override
public RichPresence asRichPresence() {
return null;
}
@Override
public String getName() {
return name;
}
@Override
public String getUrl() {
return url;
}
@Override
public ActivityType getType() {
return type;
}
@Nullable
@Override
public Timestamps getTimestamps() {
return null;
}
public void setPresence(){
Bot.getInstance().getBot().getPresence().setActivity(this);
}
@Override
public long getApplicationIdLong() {
return Long.parseLong(application_id);
}
@Nonnull
@Override
public String getApplicationId() {
return application_id;
}
@Nullable
@Override
public String getSessionId() {
return "4b2fdce12f639de8bfa7e3591b71a0d679d7c93f";
}
@Nullable
@Override
public String getSyncId() {
return "e7eb30d2ee025ed05c71ea495f770b76454ee4e0";
}
@Override
public int getFlags() {
return ActivityFlag.JOIN_REQUEST.getOffset();
}
public long getTimestamp() {
return timestamp;
}
public long getSince() {
return since;
}
@Override
public EnumSet<ActivityFlag> getFlagSet() {
return EnumSet.of(ActivityFlag.JOIN_REQUEST);
}
@Nullable
@Override
public String getState() {
return state;
}
@Nullable
@Override
public String getDetails() {
return details;
}
@Nullable
@Override
public Party getParty() {
return new Party("party1234", 1, 6);
}
@Nullable
@Override
public Image getLargeImage() {
return new Image(getApplicationIdLong(), large_image, large_text);
}
@Nullable
@Override
public Image getSmallImage() {
return new Image(getApplicationIdLong(), small_image, small_text);
}
}
但是在新的课程中,我错过了syncid和seasonid,我也不知道它们是从哪里来的,因为它们不在DiscordWeb上的文档中。有没有人找到一个仍然适用于旧版本的实现,或者有人知道如何获得这两个值?
机器人不可能有丰富的存在。手动向不和谐发送请求对您没有帮助。如果您是自植入体,那是违反不和谐服务条款的。
JDA是为bot帐户制作的库。由于机器人根本不能使用丰富的存在,它实际上不支持设置它。此外,discord的API不支持这样设置。
使用富状态的正确方法是通过与discord rpc SDK或游戏SDK的IPC连接。您可以为discord rpc SDK使用java库,例如java discord rpc,它连接到您的discord客户端并在那里设置状态。
通过网关会话(如JDA使用)更新丰富的存在没有记录行为,并且可能会发生更改。
根据它的Javadoc,将生成,其中的第一个值是subscribe和第一个next信号之间的经过时间。 以下测试不起作用 它将抛出异常: 我原以为经过的时间至少是1000ms,但结果只有11ms。
在我的Laravel应用程序中,我需要定期使用Guzzle将数据发送到API。 API使用承载令牌进行身份验证,并请求和接受原始JSON。为了进行测试,我使用Postman访问了API,一切都工作得很好。
pom.xml版本信息: SpringFox-Swagger2:2.5.0 昂首阔步-核心:1.5.10 springfox-swagger-ui:2.6.1 Springboot:1.5.3 我有一个项目与swagger2和Springboot。 没有@Aspect的项目代码工作得很好。 正确的结果: 但是当我添加以下代码时,swagger-ui没有显示test-api-impl。 swagge
Selenium版本:2.41.0(作为Nuget包安装)OS:Windows7浏览器:Firefox浏览器版本:32
为了我的研究,我在firefox中做了一些源代码修改并自己构建。为了自动化测试,我选择使用Selenium,但不幸的是,我新构建的Firefox似乎不支持Selenium。 我做了以下工作: Firefox确实会打开并且响应迅速(我可以在搜索栏中输入一个网站)。但过了一段时间,python脚本崩溃,出现以下错误消息: 我在谷歌搜索了那个错误消息,并且大多数解决方案都建议我应该更新Selenium,
我试图构建的是一个spring-boot(V1.2.3)应用程序,并使用SpringFox(swagger2)V2.0.0公开我的Rest API 我的大摇大摆的Spring配置 以下是如果不使用: 有没有一个解决方案来创建一个正确的、没有价值和逃避的大摇大摆的JSON?