Widget

Is it possible to change a location of the widget?

Sure. Necessary js-code is below:

<script>
window['blingerInit'] = function () {
var newStyles = "#blinger-launcher-iframe {bottom: 40px !important;}.blinger-channels-iframe{bottom: 136px !important;}";
newStyles = newStyles + ".blinger-channels-iframe.blinger-channels-iframe-mobile {bottom: 160px !important;}.blinger-invitation-iframe {bottom: 130px !important;}";
newStyles = newStyles + "@keyframes blinger-channels-desktop-show{0%{bottom:70px;opacity:0;}100%{bottom:136px;opacity:1;}}";
newStyles = newStyles + "@keyframes blinger-channels-desktop-hide{0%{bottom:136px;opacity:1;}100%{bottom:70px;opacity:0;}}";
$( "<style>" + newStyles + "</style>" ).appendTo( "body" )
};
</script>

It allow changing a location of the widget vertically. Change value of bottom

Is it possible to place the widget under a custom button?

Yes, it is possible. You should place the following code under the widget's code:

<script>
window['blingerInit'] = function () {
document.getElementById('blinger-launcher-iframe').style.display = 'none';
};
var showBlinger = function () {
if (typeof Blinger !== 'undefined' && !Blinger.launcherWidget.isOpen) {
Blinger.launcherWidget.onLaunchButtonClick();
}
};
var hideBlinger = function () {
if (typeof Blinger !== 'undefined' && Blinger.launcherWidget.isOpen) {
Blinger.launcherWidget.onLaunchButtonClick();
}
};
</script>

The function showBlinger is responsible for display of a channel (list of channels), the function hideBlinger hides the list.