mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-10 04:00:08 +08:00
update
This commit is contained in:
parent
75352667ee
commit
b3a227e51d
@ -4,7 +4,6 @@ import io.netty.bootstrap.Bootstrap
|
||||
import io.netty.channel.*
|
||||
import io.netty.channel.nio.NioEventLoopGroup
|
||||
import io.netty.channel.socket.nio.NioDatagramChannel
|
||||
import io.netty.handler.codec.MessageToMessageEncoder
|
||||
import io.netty.handler.codec.bytes.ByteArrayDecoder
|
||||
import net.mamoe.mirai.network.packet.client.ClientPacket
|
||||
import net.mamoe.mirai.network.packet.client.login.*
|
||||
@ -124,15 +123,16 @@ class Robot(val number: Int, private val password: String) {
|
||||
@ExperimentalUnsignedTypes
|
||||
private fun sendPacket(packet: ClientPacket) {
|
||||
try {
|
||||
MiraiLogger log "Encoding"
|
||||
packet.encode()
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
packet.writeHex(Protocol.tail)
|
||||
println("Packet sent: $packet")
|
||||
/*val p = DatagramPacket(packet.toByteArray());
|
||||
p.socketAddress = this.serverAddress*/
|
||||
channel!!.writeAndFlush(packet.toByteArray())
|
||||
channel!!.writeAndFlush(DatagramPacket(packet.toByteArray()))
|
||||
MiraiLogger info "Packet sent: $packet"
|
||||
}
|
||||
|
||||
private fun DatagramPacket(toByteArray: ByteArray): DatagramPacket = DatagramPacket(toByteArray, toByteArray.size, this.serverAddress)
|
||||
@ -146,17 +146,18 @@ class Robot(val number: Int, private val password: String) {
|
||||
try {
|
||||
val b = Bootstrap()
|
||||
|
||||
MiraiLogger.info("Connecting")
|
||||
b.group(group)
|
||||
.channel(NioDatagramChannel::class.java)
|
||||
.option(ChannelOption.SO_BROADCAST, true)
|
||||
.handler(object : ChannelInitializer<NioDatagramChannel>() {
|
||||
@Throws(Exception::class)
|
||||
override fun initChannel(ch: NioDatagramChannel) {
|
||||
ch.pipeline().addLast(object : MessageToMessageEncoder<ByteArray>() {
|
||||
/*ch.pipeline().addLast(object : MessageToMessageEncoder<ByteArray>() {
|
||||
override fun encode(ctx: ChannelHandlerContext?, msg: ByteArray?, out: MutableList<Any>?) {
|
||||
out!!.add(DatagramPacket(msg!!))
|
||||
}
|
||||
})
|
||||
})*/
|
||||
ch.pipeline().addLast(ByteArrayDecoder())
|
||||
ch.pipeline().addLast(object : SimpleChannelInboundHandler<ByteArray>() {
|
||||
override fun channelRead0(ctx: ChannelHandlerContext, bytes: ByteArray) {
|
||||
@ -176,10 +177,11 @@ class Robot(val number: Int, private val password: String) {
|
||||
|
||||
channel = b.bind(15345).sync().channel()
|
||||
|
||||
MiraiLogger info "Succeed"
|
||||
sendPacket(ClientTouchPacket(this@Robot.number, serverIP))
|
||||
channel!!.closeFuture().sync()
|
||||
} finally {
|
||||
group.shutdownGracefully().sync()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package net.mamoe.mirai.network.packet.client
|
||||
|
||||
import lombok.Getter
|
||||
import lombok.ToString
|
||||
import net.mamoe.mirai.network.Protocol
|
||||
import net.mamoe.mirai.network.packet.Packet
|
||||
import net.mamoe.mirai.network.packet.PacketId
|
||||
@ -14,7 +13,6 @@ import java.security.MessageDigest
|
||||
/**
|
||||
* @author Him188moe
|
||||
*/
|
||||
@ToString
|
||||
@ExperimentalUnsignedTypes
|
||||
abstract class ClientPacket : ByteArrayDataOutputStream(), Packet {
|
||||
@Getter
|
||||
@ -53,6 +51,10 @@ abstract class ClientPacket : ByteArrayDataOutputStream(), Packet {
|
||||
encode()
|
||||
return toByteArray()
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return this.javaClass.simpleName + this.javaClass.declaredFields.joinToString(", ", "{", "}") { it.trySetAccessible(); it.name + "=" + it.get(this) }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -47,9 +47,6 @@ class ClientTouchPacket(val qq: Int, val serverIp: String) : ClientPacket() {
|
||||
}.toByteArray()))
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return this.javaClass.simpleName + this.javaClass.declaredFields.joinToString(", ", "{", "}") { it.trySetAccessible(); it.name + "=" + it.get(this) }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -6,12 +6,20 @@ import java.util.*
|
||||
/**
|
||||
* used to replace old logger
|
||||
*/
|
||||
object MiraiLogger{
|
||||
fun info(o: Any) {
|
||||
object MiraiLogger {
|
||||
infix fun info(o: Any?) {
|
||||
this.print(o.toString())
|
||||
}
|
||||
|
||||
fun catching(e:Throwable){
|
||||
infix fun log(o: Any?) = MiraiLogger.info(o)
|
||||
|
||||
infix fun println(o: Any?) = MiraiLogger.info(o)
|
||||
|
||||
infix fun debug(o: Any?) {
|
||||
this.print(o.toString())
|
||||
}
|
||||
|
||||
infix fun catching(e: Throwable) {
|
||||
e.printStackTrace()
|
||||
/*
|
||||
this.print(e.message)
|
||||
@ -19,8 +27,11 @@ object MiraiLogger{
|
||||
this.print(e.cause.toString())*/
|
||||
}
|
||||
|
||||
private fun print(value:String?){
|
||||
private fun print(value: String?) {
|
||||
val s = SimpleDateFormat("MM-dd HH:mm:ss").format(Date())
|
||||
println(LoggerTextFormat.BLUE.toString() + "[Mirai] $s : $value")
|
||||
kotlin.io.println(LoggerTextFormat.BLUE.toString() + "[Mirai] $s : $value")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun log(any: Any?) = MiraiLogger.info(any)
|
Loading…
Reference in New Issue
Block a user