我正在使用JDA lib来创建我的discord bot而我遇到了一个问题:为了发送带有文件的消息,我应该使用现有消息:
RestAction<Message> sendFile(File file, Message message)
RestAction<Message> sendFile(File file, String fileName, Message message)
RestAction<Message> sendFile(InputStream data, String fileName, Message message)
没有实现使用简单的字符串消息发送文件。因此,当我尝试发送文件并向其发送消息时,我发现了重复的消息。
所以问题是:如何使用附件创建Message
而不重复邮件?
答案 0 :(得分:4)
您可以一次性发送带有附件的邮件:
import "package:flutter/material.dart";
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: GestureDetector(
onVerticalDragUpdate: (DragUpdateDetails details) {
print("dragged");
},
onTap: () {
print("tapped");
},
child: ListView.builder(
itemBuilder: (context, index) {
return Container(
padding: EdgeInsets.all(20.0),
child: Text(
"The GestureDetector above me does not react to drag events. Maybe my parent is at fault?"
)
);
},
)
)
);
}
}
答案 1 :(得分:2)
正确的方法是使用MessageBuilder
格式化并构建Message
。
Message message = new MessageBuilder().append("My message").build();
textChannel.sendFile(new File("my-file.txt"), message).queue();
在JDA中,尚未发送Message
个对象。
答案 2 :(得分:0)
我能够在发布文件后通过邮件编辑来解决这个问题。
// Import the object GlobalContext
import GlobalContext.injector
// ...
val yourClassInstance = injector.instanceOf[YourClass]