//
//  KGKakaoGuildChat.h
//  KakaoGame SDK
//
//  Created by Bruce Lee on 2017. 4. 5..
//  Copyright (c) 2017. Kakao Corp. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
/**
 * @brief KGKakaoGuildChat클래스는 카카오톡 길드 채팅 기능을 제공한다.
 */
@interface KGKakaoGuildChat : NSObject

/**
 * @brief 카카오톡을 열어 worldId / guildId에 해당하는 채팅방으로 이동한다.
 *
 * @param worldId 월드 아이디.
 * @param guildId 길드 아이디.
 * @param completionHandler 완료 핸들러 [error:요청 결과].
 *
 */
+ (void)openKakaoTalkGuildChatWithWorldId:(NSString *)worldId
								  guildId:(NSString *)guildId
						completionHandler:(void(^)(NSError *error))completionHandler;

/**
 * @brief 카카오톡을 열어 채팅탭으로 이동한다.
 *
 * @param completionHandler 완료 핸들러 [error:요청 결과].
 */
+ (void)openKakaoTalkChattingTabWithCompletionHandler:(void(^)(NSError *error))completionHandler;

/**
 * @brief 카카오톡 길드채팅 대화방에 메시지를 보낸다. (v2 템플릿)
 *
 * @param worldId 월드 아이디.
 * @param guildId 길드 아이디.
 * @param templateId 메시지 양식.
 * @param argumentDic 메시지 양식에 사용하는 추가 데이터.
 * @param completionHandler 완료 핸들러 [error:요청 결과].
 *
 */
+ (void)sendGuildChatMessageWithWorldId:(NSString *)worldId
								guildId:(NSString *)guildId
							 templateId:(NSString *)templateId
							argumentDic:(NSDictionary *)argumentDic
					  completionHandler:(void(^)(NSError *error))completionHandler;

/**
 * @brief 카카오톡 길드채팅 사용자 동의창을 띄운다.
 *
 * @param completionHandler 완료 핸들러 [error:요청 결과][isAgreed:길드 채팅 권한 동의 여부].
 *
 */
+ (void)showGuildChatAgreementViewWithCompletionHandler:(void(^)(NSError *error, BOOL isAgreed))completionHandler;

@end
