HarpyWar / murmur-ice-net

Murmur (Mumble Server) Ice Wrapper for .NET
http://yulli.cleanvoice.ru
MIT License
2 stars 1 forks source link

Moving clients #2

Closed gigithebeast closed 6 years ago

gigithebeast commented 6 years ago

Hello I would like to ask if it is possible to move client from one channel to other programmatically? I was unable to find anything in the source for moving users.

HarpyWar commented 6 years ago

I just add this feature, you can use it this way:

var s = instance.GetServer(1);
var channels = s.GetAllChannels();
var users = s.GetOnlineUsers();

users[0].Move(s, channels[0].Id);
gigithebeast commented 6 years ago

Thank you very much for this addition.

On Sun, May 6, 2018 at 11:30 AM, HarpyWar notifications@github.com wrote:

I just add this feature, you can use it this way:

var s = instance.GetServer(1); var channels = s.GetAllChannels(); var users = s.GetOnlineUsers();

users[0].Move(s, channels[0].Id);

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/HarpyWar/murmur-ice-net/issues/2#issuecomment-386866343, or mute the thread https://github.com/notifications/unsubscribe-auth/ABOnu02Pa9v0w4Ng60JRgcT0cA7oNtnDks5tvsK5gaJpZM4Tz0dd .

gigithebeast commented 6 years ago

Can you give me a hint for building your project? I added nuGet package Ice but when trying to build the project I receive following errors:

1>------ Build started: Project: Murmur, Configuration: Release Any CPU

1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\VirtualServerCallbackWrapper.cs(13,18,13,46): error CS0534: 'VirtualServerCallbackWrapper' does not implement inherited abstract member 'ServerCallbackDisp.userTextMessage(User, TextMessage, Current)' 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(1963,30,1963,36): error CS0115: 'Tree.read(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(2006,30,2006,36): error CS0115: 'Tree.read(InputStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(2107,30,2107,36): error CS0115: 'MurmurException.read(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(2126,30,2126,36): error CS0115: 'MurmurException.read(InputStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(2028,26,2028,41): error CS0534: 'MurmurException' does not implement inherited abstract member 'UserException.readImpl(BasicStream)' 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(2028,26,2028,41): error CS0534: 'MurmurException' does not implement inherited abstract member 'UserException.writeImpl(BasicStream)' 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(28558,30,28558,36): error CS0115: 'ServerCallbackDisp.read(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(28576,30,28576,36): error CS0115: 'ServerCallbackDisp_.read_(InputStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(28729,30,28729,36): error CS0115: 'ServerContextCallbackDisp.read(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(28747,30,28747,36): error CS0115: 'ServerContextCallbackDisp_.read(InputStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(29020,30,29020,36): error CS0115: 'ServerAuthenticatorDisp_.read_(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(29038,30,29038,36): error CS0115: 'ServerAuthenticatorDisp.read(InputStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(29359,30,29359,36): error CS0115: 'ServerUpdatingAuthenticatorDisp_.read(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(29377,30,29377,36): error CS0115: 'ServerUpdatingAuthenticatorDisp_.read_(InputStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(31186,30,31186,36): error CS0115: 'ServerDisp.read(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(31204,30,31204,36): error CS0115: 'ServerDisp_.read(InputStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(31371,30,31371,36): error CS0115: 'MetaCallbackDisp_.read_(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(31389,30,31389,36): error CS0115: 'MetaCallbackDisp.read(InputStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(31837,30,31837,36): error CS0115: 'MetaDisp_.read_(BasicStream, bool)': no suitable method found to override 1>C:\Users\kerne\Desktop\murmur-ice-net-master\murmur-ice-net-master\Murmur\Murmur.cs(31855,30,31855,36): error CS0115: 'MetaDisp.read__(InputStream, bool)': no suitable method found to override ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========

On Sun, May 6, 2018 at 11:32 AM, Igor Kernec kernecigor@gmail.com wrote:

Thank you very much for this addition.

On Sun, May 6, 2018 at 11:30 AM, HarpyWar notifications@github.com wrote:

I just add this feature, you can use it this way:

var s = instance.GetServer(1); var channels = s.GetAllChannels(); var users = s.GetOnlineUsers();

users[0].Move(s, channels[0].Id);

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/HarpyWar/murmur-ice-net/issues/2#issuecomment-386866343, or mute the thread https://github.com/notifications/unsubscribe-auth/ABOnu02Pa9v0w4Ng60JRgcT0cA7oNtnDks5tvsK5gaJpZM4Tz0dd .

HarpyWar commented 6 years ago

Follow readme of the repository to use it in your project. You can download Ice.dll and other required dlls from the Releases section. Make sure you use Ice 3.4.2, because later versions do not supported by Murmur server.

HarpyWar commented 6 years ago

'Murmur' project can be compiled for many difference Murmur versions through MurmurVersionCompiler. Just run it and it will build dlls for every Murmur version.

изображение

If you want to debug 'Murmur' project, or use it without MurmurAdapter, then you have to replace contents of Murmur.cs with one of the selected slice. Also define all the previous versions in the project properties. For instance, if you want to debug 1.3.0 then set these definitions: MURMUR_122;MURMUR_123;MURMUR_123380;MURMUR_124;MURMUR_125;MURMUR_126;MURMUR_127;MURMUR_128;MURMUR_129;MURMUR_130

изображение

After successful compilation you can reference Murmur project instead of MurmurAdapter. And use:

IInstance instance = new Murmur.Instance();

instead of use multiple Murmur versions in one project:

IInstance instance1 = new MurmurAdapter.Adapter("1.2.9").Instance;
IInstance instance2 = new MurmurAdapter.Adapter("1.3.0").Instance;

'MurmurPlugin' is required in both cases.