Line Message Api .NET 5 SDK
Nuget
Install-Package NetCoreLineBotSDK -Version 1.0.0
dotnet cli
dotnet add package NetCoreLineBotSDK --version 1.0.0
https://developers.line.biz/zh-hant/
- 申請一個Provider
- 申請一個Channel (一個Provider可以有多個Channel)
- 於Channel取得 Channel Secret 及 Access Token
- Use webhook 啟用
- Auto-reply messages 關閉
- 設定 Webhook URL (需為https)
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddLineBotSDK(Configuration);
}
"LineSetting": {
"ChannelSecret": "<Your Line Channel Secret>",
"ChannelAccessToken": "<Your Line Channel Access Token>"
}
[Route("api/[controller]")]
[ApiController]
public class LineController : ControllerBase
{
private readonly ILineMessageUtility lineMessageUtility;
public LineController(ILineMessageUtility _lineMessageUtility)
{
lineMessageUtility = _lineMessageUtility;
}
[HttpPost]
[LineVerifySignature]
public async Task<IActionResult> Post(WebhookEvent request)
{
var app = new LineBotSampleApp(lineMessageUtility);
await app.RunAsync(request.events);
return Ok();
}
}
public class LineBotSampleApp : LineBotApp
{
private readonly ILineMessageUtility lineMessageUtility;
public LineBotSampleApp(ILineMessageUtility _lineMessageUtility) : base(_lineMessageUtility)
{
lineMessageUtility = _lineMessageUtility;
}
protected override async Task OnMessageAsync(LineEvent ev)
{
await lineMessageUtility.ReplyMessageAsync(ev.replyToken, $"You Said:{ev.message.Text}");
}
}
您可加入以下 Bot 並執行指令測試結果,原始碼請見 NetCoreLineBotSDK.Sample
/text
/sticker
/image
/video
/audio
/location
/image-map
/image-map-with-video
/template-buttons
/template-confirm
/template-carousel
/template-carousel-images
/quick-reply
/sender
/flex
/action
/richmenu
/richmenu-cancel